Function Hiển Thị Bài Viết Ngẫu Nhiên

Tạo danh sách bài viết ngẫu nhiên cho Typecho

Hướng dẫn

Vào file function

Thêm function sau:

class Widget_Post_tongleisuiji extends Widget_Abstract_Contents
{
    public function __construct($request, $response, $params = NULL)
    {
        parent::__construct($request, $response, $params);
        $this->parameter->setDefault(array('pageSize' => $this->options->commentsListSize, 'parentId' => 0, 'ignoreAuthor' => false));
    }
    public function execute()
    {
    $adapterName = $this->db->getAdapterName();//兼容非MySQL数据库
    if($adapterName == 'pgsql' || $adapterName == 'Pdo_Pgsql' || $adapterName == 'Pdo_SQLite' || $adapterName == 'SQLite'){
        $order_by = 'RANDOM()';
    }else{
        $order_by = 'RAND()';
    }   
$select  = $this->select()->from('table.contents')
->join('table.relationships', 'table.contents.cid = table.relationships.cid');
if($this->parameter->mid>0){
$select->where('table.relationships.mid = ?', $this->parameter->mid);
}
$select->where('table.contents.cid <> ?', $this->parameter->cid)
->where("table.contents.password IS NULL OR table.contents.password = ''")
->where('table.contents.type = ?', 'post')
->limit($this->parameter->pageSize)
->order($order_by);
$this->db->fetchAll($select, array($this, 'push'));
    }
}

Dán code sau vào nơi cần hiển thị

<?php 
$mid='';//此参数为空时为随机文章,为分类mid时则为当前分类下的随机文章
$cid=0;//此参数填写当前文章的cid即可在随机文章时不输出当前文章
$size=5;//随机输出文章的数量
$this->widget('Widget_Post_tongleisuiji@suiji', 'mid='.$mid.'&pageSize='.$size.'&cid='.$cid)->to($to);?>
<?php if($to->have()): ?>
<?php while($to->next()): ?>
<!--文章内容开始-->
<?php $to->title(); ?>
<?php $to->excerpt(150, '...'); ?>
<?php $to->permalink() ?>
<!--文章内容结束-->
<?php endwhile; ?>
<?php endif; ?>

Nguồn

Sưu tầm bên nước bạn 😊

© Copyright
HẾT
Nếu bạn thích, hãy ủng hộ tác giả nhé!
Thích0 Chia sẻ
Bình luận Bình luận trống
头像
Để lại nhận xét của bạn tại đây!
提交
头像

Khách

Hủy bỏ
Biệt danhBiểu cảmCodeHình ảnhTrả lời nhanh

    Chưa có bình luận nào