网站首页 » 代码技巧 » 函数代码实现Typecho文章随机调用

函数代码实现Typecho文章随机调用

April 16, 2020 代码技巧

有些时候我们需要在Typecho里对文章速记调用,我们可以通过某些外接插件的形式来实现,但是插件对Typecho的版本会有一定个代要求,某些较低版本的就不支持文章调用的插件,这里我们再给大家介绍一种基于函数代码实现的随机调用法,供大家参考。

具体代码和操作步骤如下:
第一步:编写以下代码
把下面的代码添加至主题的functions.php文件:

function getRandomPosts($limit = 9){    
    $db = Typecho_Db::get();
    $result = $db->fetchAll($db->select()->from('table.contents')
        ->where('status = ?','publish')
        ->where('type = ?', 'post')
        ->where('created <= unix_timestamp(now())', 'post')
        ->limit($limit)
        ->order('RAND()')
    );
    if($result){
        $i=1;
        foreach($result as $val){
            if($i<=3){
                $var = ' class="red"';
            }else{
                $var = '';
            }
            $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val);
            $post_title = htmlspecialchars($val['title']);
            $permalink = $val['permalink'];
            echo '<li><i'.$var.'>'.$i.'</i><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li>';
            $i++;
        }
    }
}

第二步:将以上代码添加至主题functions.php文件内

第三步:调用代码
在要显示随机文章的地方添加调用代码,,一般是添加到主题的sidebar.php文件,不同的文章模板可能不一样,请根据自己的模板进行添加。

<?php getRandomPosts('9');?>

数字9是要显示的文章数量,运行后就轻松实现对随机文章的调用了。

添加新评论