首页IT科技zblog 网站手机端单独设置m域名(ZBLOG PHP博客热门文章/随机文章和热评文章的调用代码)

zblog 网站手机端单独设置m域名(ZBLOG PHP博客热门文章/随机文章和热评文章的调用代码)

时间2025-04-30 00:41:08分类IT科技浏览3797
导读:Zblog中,热门文章、随机文章、热评文章是最常见并且最经常被调用的类型,不过zblog官方没有提供相关的实现标签代码,我们可以通过在include.php文件中添加以下代码的形式来实现针对热门文章、随机文章和热评文章的代码调用。...

Zblog中            ,热门文章            、随机文章                  、热评文章是最常见并且最经常被调用的类型                  ,不过zblog官方没有提供相关的实现标签代码,我们可以通过在include.php文件中添加以下代码的形式来实现针对热门文章      、随机文章和热评文章的代码调用            。

实现逻辑和步骤如下:

首先判断是否存在include.php文件      ,如果主题存在include.php文件      ,直接在文件中添加以下代码;如果不存在include.php文件                  ,则先创建该文件            ,并在主题信息文件theme.xml中的标签引用该文件      ,然后添加以下代码:

<?php /** * 获取文章列表 * @param int $count 数量 * @param null $cate 分类ID * @param null $auth 用户ID * @param null $date 日期 * @param null $tags 标签 * @param null $search 搜索关键词 * @param null $order 排序 * @param null $option * @return array|mixed */ function TcgetList($count = 10, $cate = null, $auth = null, $date = null, $tags = null, $search = null, $option = null,$order=null) { global $zbp; if (!is_array($option)) { $option = array(); } if (!isset($option[only_ontop])) $option[only_ontop] = false; if (!isset($option[only_not_ontop])) $option[only_not_ontop] = false; if (!isset($option[has_subcate])) $option[has_subcate] = false; if (!isset($option[is_related])) $option[is_related] = false; if ($option[is_related]) { $at = $zbp->GetPostByID($option[is_related]); $tags = $at->Tags; if (!$tags) return array(); $count = $count + 1; } if ($option[only_ontop] == true) { $w[] = array(=, log_IsTop, 0); } elseif ($option[only_not_ontop] == true) { $w[] = array(=, log_IsTop, 1); } $w = array(); $w[] = array(=, log_Status, 0); $articles = array(); if (!is_null($cate)) { $category = new Category; $category = $zbp->GetCategoryByID($cate); if ($category->ID > 0) { if (!$option[has_subcate]) { $w[] = array(=, log_CateID, $category->ID); } else { $arysubcate = array(); $arysubcate[] = array(log_CateID, $category->ID); foreach ($zbp->categorys[$category->ID]->SubCategorys as $subcate) { $arysubcate[] = array(log_CateID, $subcate->ID); } $w[] = array(array, $arysubcate); } } } if (!is_null($auth)) { $author = new Member; $author = $zbp->GetMemberByID($auth); if ($author->ID > 0) { $w[] = array(=, log_AuthorID, $author->ID); } } if (!is_null($date)) { $datetime = strtotime($date); if ($datetime) { $datetitle = str_replace(array(%y%, %m%), array(date(Y, $datetime), date(n, $datetime)), $zbp->lang[msg][year_month]); $w[] = array(BETWEEN, log_PostTime, $datetime, strtotime(+1 month, $datetime)); } } if (!is_null($tags)) { $tag = new Tag; if (is_array($tags)) { $ta = array(); foreach ($tags as $t) { $ta[] = array(log_Tag, %{ . $t->ID . }%); } $w[] = array(array_like, $ta); unset($ta); } else { if (is_int($tags)) { $tag = $zbp->GetTagByID($tags); } else { $tag = $zbp->GetTagByAliasOrName($tags); } if ($tag->ID > 0) { $w[] = array(LIKE, log_Tag, %{ . $tag->ID . }%); } } } if (is_string($search)) { $search=trim($search); if ($search!==) { $w[] = array(search, log_Content, log_Intro, log_Title, $search); } } if(!empty($order)){ if($order==new){ $order = array(log_PostTime=>DESC); } if($order==hot){ $order = array(log_ViewNums=>DESC); } if($order==comm){ $order = array(log_CommNums=>DESC); } if($order==rand){ $order = array(rand()=>); } } $articles = $zbp->GetArticleList(*, $w, $order, $count, null, false); if ($option[is_related]) { foreach ($articles as $k => $a) { if ($a->ID == $option[is_related]) unset($articles[$k]); } if (count($articles) == $count){ array_pop($articles); } } return $articles; } ?>

函数调用代码:方法和官方给出的GetList一样                  ,区别是比GetList多了一个参数条件                  。实现热门文章调用的函数代码如下:

{$array = TcgetList(10,null,null,null,null,null,null,hot);} <ul id="related"> {foreach $array as $related} <li><span class="time">{$related.Time(m-d)}</span><span class="title"><a href="https://www.yuucn.com/{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li> {/foreach} </ul>

实现随机文章调用的函数代码如下:

{$array = TcgetList(10,null,null,null,null,null,null,rand);} <ul id="related"> {foreach $array as $related} <li><span class="time">{$related.Time(m-d)}</span><span class="title"><a href="https://www.yuucn.com/{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li> {/foreach} </ul>

实现热评文章调用的函数代码如下:

{$array = TcgetList(10,null,null,null,null,null,null,comm);} <ul id="related"> {foreach $array as $related} <li><span class="time">{$related.Time(m-d)}</span><span class="title"><a href="https://www.yuucn.com/{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li> {/foreach} </ul>

运行后即可完美实现三种文章的调用了      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
修辞方法对偶(2024年中考修辞手法复习:对偶) dedecms(解决DEDECMS登录后台左侧菜单空白的问题)