ZBLOG调用随机文章、热门文章、热评文章的php代码

使用方法:

第一、在我们的主题目录中需要创建include.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;
}

然后就是在我们需要的界面模板中调用。

热门文章

 代码如下 复制代码
{$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="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li>
{/foreach}
</ul>

调用10篇热门文章

热评文章

 代码如下 复制代码

{$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="{$related.Url}" title="{$related.Title}">{$related.Title}</a></span></li>
{/foreach}
</ul>

直接用zblogphp的原生代码,代码如下:

 代码如下 复制代码

<img src="{php}$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
$content = $article->Content;
preg_match_all($pattern,$content,$matchContent);
echo $matchContent[1][0];
{/php}" />

这些代码前台编译出来的html代码就是:<img src="图片地址">,可以加在任意想调用的地方。

PHP版随机文章的调用方法

不会写插件,直接爆方法:

1、打开zb_system\function\c_system_event.php

在743行,$zbp->AddBuildModule('previous');后面添加$zbp->AddBuildModule('sjarticles');

在781行,$zbp->AddBuildModule('previous');后面添加$zbp->AddBuildModule('sjarticles');

在最后后面添加:

 代码如下 复制代码

function BuildModule_sjarticles(){
        global $zbp;
 
        $articles=$zbp->GetArticleList(
                array('*'),
                array(array('=','log_Type',0),array('=','log_Status',0)),
                array('rand()'=>' '),
                array(10),
                null
        );
        $s='';
        foreach ($articles as $article) {
                $s .='' . $article->Title . '';
        }
        return $s;
}

2、打开zb_system\function\lib\zblogphp.php

在218行,$this->RegBuildModule('previous','BuildModule_previous');后面添加$this->RegBuildModule('hotarticles','BuildModule_sjarticles');

3、打开数据库,在zbp_module表,添加新数据,15,热门文章,sjarticles,,0,divsjarticles,ul,0,system,0

调用方法:在相应地方调用{$modules['sjarticles'].Content}

时间: 2024-08-01 14:50:19

ZBLOG调用随机文章、热门文章、热评文章的php代码的相关文章

ZBLOG PHP调用随机文章、热门文章、热评文章程序

使用方法:   第一.在我们的主题目录中需要创建include.php文件,如果有就直接添加脚本    代码如下 复制代码 /** * 获取文章列表 * @param int $count 数量 * @param null $cate 分类ID * @param null $auth 用户ID * @param null $date 日期 * @param null $tags 标签 * @param null $search 搜索关键词 * @param null $order 排序 * @p

wordpress调用随机文章的一些例子

调用随机文章代码 <?php $rand_posts = get_posts('numberposts=10&orderby=rand'); foreach( $rand_posts as $post ) : ?> <!–下面是你想自定义的Loop–> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li

网站首页调用随机产品让快照天天更新

新的事物是大家都喜欢的,搜索引擎爬虫当然也喜欢,然后有seo朋友在网站优化过程都碰到过这样的问题,可能自己的网站天天更新原创,甚至文章秒收,但是首页快照还是落后甚至回档到n年前.笔者看过很多seo论坛上许多这样的咨询问题,大体上一些seo朋友解答都认为:一是网站本身没有坚持更新,二是百度数据库出问题.对该问题的处理办法要不是让他继续等待就是投诉快照,个人认为这不能从根本解决首页快照落后的问题. 笔者在这里建议,首页不能像门户网站一样保存大幅度的更新可以尝试调用随机文章和产品.随机文章和随机产品一

5月开源热评 Top 榜:我已编程半生,归来仍是小孩!

5月"开源热评"活动于5月15日上线,并于5月31日结束,在半个月的活动时间内,许多小伙伴已经找到了正确的上热评的姿势. https://static.oschina.net/uploads/space/2017/0601/154306_Mfm4_2896879.png" > 受活动时间限制,5月有四位 oscer 的评论点赞数超过了 50:其中有两位未登录,很遗憾无法进行礼品发放:另外两位 @Raymin @Daniel-01 将获得活跃积分奖励和开源中国实物礼品奖励

php添加文章时生成静态HTML文章的实现代码_php技巧

PHP生成静态文章HTML,有批量的生成,但比较标准的应该是在添加文章时就生成HTML文章,编辑时再重新生成HTML文章,删除文章时同样也样删除多余出来的HTML文章,这时批量生成就显得有点力不从心了,下面就介绍一下PHP在添加文章时如何生成静态的HTML文件.     简单的添加文章表单这里就不写了,下面的这些源码是接受表单传过来的值而执行的程序源码,可以先拿过去测试一下... 复制代码 代码如下: <?php ob_start(); require_once("../inc/conn.

WordPress置顶文章与非置顶文章的列表分离

置顶文章归置顶的样式,在循环文章列表中排除置顶文章. Case1置顶列表解决方案: 在要插入置顶文章列表的地方写入一下语句:  代码如下 复制代码 <?php query_posts(array('showposts' => 1, 'post__in' => get_option('sticky_posts'), 'caller_get_posts' => 1 )); if (have_posts()) : while (have_posts()) : the_post(); ?&

wordpress文章置顶不改变文章排序实现方法

文章置顶不排序 query_posts方法的代码如下:  代码如下 复制代码 <?php $display_categories = get_option('swt_cat_exclude'); $limit = get_option('posts_per_page'); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $sticky = get_option('sticky_posts'); $args = arr

php 实现文章上一页与下一页 代码

php 实现文章上一页与下一页 代码,这是我要写一个小作品时用到了,今天把它拿出来各各位分享一下下,记得以前我总想法不明白怎么实现文章上下一页的做法,后来在一个BBS看到了原来是判断当前ID然后order by 或asc就可以简单的实现了. function nextpage($fid,$tag,$bid){   if('next' ==$tag){    $sql ="select * from gx_news where id<$fid and menu_id='$bid' order

《风语》受众群广泛热评如潮被赞渐入佳境(图)

胡军被赞突破大 卡尔表现抢眼 乱世下的艰难爱情让人揪心 新浪娱乐讯 近日,改编自麦家同名小说的电视剧<风语>在央八首播,该剧由去年大火的著名导演刘江执导,实力派演员胡军.郭晓冬主演,强大的主创阵容在播出前即获得了媒体和观众的广大关注.短短几日的播出,引得观众热评如潮. <风语>改动很大 节奏渐入佳境 经过前两日的播出后,部分看惯了谍战剧的观众质疑<风语>节奏太缓慢.而有提前看过原著的观众指出,其实央八最终播出的版本中,前面已经做了很大的调整.原著对于陈家鹄归国路途上的一