如何实现ZBlog首页不显示某个分类下文章
1年前 (2023-05-07) / 142 次围观 / 0 次吐槽找到主题目录下的 include.php 文件
路径通常是在 zb_users/theme/ (主题目录)/ include.php
在php代码中添加以下代码(末行的"?>"前亦或是代码末尾):
function 主题名_exclude_category(&$type,&$page,&$category,&$author,&$datetime,&$tag,&$w,&$pagebar) { global $zbp; if($type == 'index') { $w[]=array('<>','log_CateID',10); //10就是所不显示分类的ID //以下是为了重建分页,过滤了分类,数量会发生变化,这段代码可能会对一些主题有影响,比如主页的分页功能:主页的第一页 不能正常访问!!!! $pagebar = new Pagebar($zbp->option['ZC_INDEX_REGEX']); $pagebar->PageCount = $zbp->displaycount; $pagebar->PageNow = $page; $pagebar->PageBarCount = $zbp->pagebarcount; } } |
将上面第一行代码中的"主题名"改成所更改的主题名,比如主题名是 zbp ,就是 function zbp_exclude_category
其上列代码中第4行末的10就是所不显示分类的ID,如若想添加多个分类,就在其下面增加同样代码,加上分类ID,比如:
$w[]=array('<>','log_CateID',11); $w[]=array('<>','log_CateID',12); $w[]=array('<>','log_CateID',13);
最后再创建 function ActivePlugin_(主题ID){} 激活 ,同样在主题中的 include.php 文件中找到 function ActivePlugin_(主题名){ ,通常在代码开头段,比如当前主题名为zbp,代码就为 function ActivePlugin_zbp(){ 在代码后大括号 { 后另起一行加入代码:
Add_Filter_Plugin('Filter_Plugin_ViewList_Core','主题ID_exclude_category');
上面一行代码中的“主题ID”为你所更改的主题ID ,比如主题ID是zbp,那么代码就是:
Add_Filter_Plugin('Filter_Plugin_ViewList_Core','zbp_exclude_category');
保存退出!OK
更新:
通过上面的方法我发现了上面的代码有问题:就是首页的翻页翻第一页的时候会出现网站404,找不到链接,它链接的是 page.html ,然正确的应该是首页或者是 / 目录后缀。经过大几天的周折解决了这个故障
正确的代码奉上:
function everbox_articles_xs(&$type,&$page,&$category,&$author,&$datetime,&$tag,&$w,&$pagebar){ global $zbp; if($type == 'index'){ $w[]=array('<>','log_CateID',2); //以下是为了重建分页,过滤了分类,数量会发生变化 $pagebar = new Pagebar($zbp->option['ZC_INDEX_REGEX'], true, true); $pagebar->PageCount = $zbp->displaycount; $pagebar->PageNow = $page; $pagebar->PageBarCount = $zbp->pagebarcount; } }
同样奉上激活代码:
Add_Filter_Plugin('Filter_Plugin_ViewList_Core','everbox_articles_xs');
就是上面原来的代码中少了两个 " true, " 至今网络上传播的都是这种错误代码,真害人哪 。也有可能是原代码者失误了。如上面的代码才是真真正正正确的“ZBlog首页不显示某个分类下文章”正解。
相關 博客程序
Url : 【 https://uuucd.cn/software/158.html 】