emlog首页隐藏特定分类文章的方法 - 新之助
«

emlog首页隐藏特定分类文章的方法

时间:2023-11-15 16:25     作者:admin     分类: 源码类


emlog首页隐藏特定分类文章的方法:

第一种方式:隐藏指定分类文章,以下代码均用默认模板测试,模板文件log_list.php中找到

<?php 
if (!empty($logs)):
foreach($logs as $value): 
?>

 

 

##在此段代码后加入
<div <?php if($value['sortid']==1){echo 'style="display:none"';}?>>


##找到:下面代码:
<?php
endforeach;
else:
?>
##在下面代码前加入:
</div>

 

代码==1中的1为分类id,本代码来源于em论坛hackhp之手,不足之处就是查看源代码时是显示的。

 

第二种方式:隐藏指定分类文章同时代码也隐藏

在模板文件log_list.php中找到下面代码

<?php 
if (!empty($logs)):
foreach($logs as $value): 
?>

替换为

<?php 
if (!empty($logs)):
foreach($logs as $value): if ($value['sortid']==1) continue;
?>

代码==1中的1为分类id,如需实现多个分类隐藏,请使用下面代码

if(in_array($value['sortid'],array(1,2,3,4))){continue;}

把其中的分类id更改一下就可以了,本代码在5.3.1版本下测试正常,如果你的log_list.php未分离出首页模板,请勿使用此方法,否则对应分类里的文章也将被隐藏。


以上方法修改以后确实可以屏蔽指定的栏目文章在首页显示,但是首页文章数量会减少,被屏蔽的栏目的文章条目数在首页还是会被记录导致首页总少几篇文章而且和发布的被屏蔽的栏目文章数是对应的。下面介绍修改内核且不会减少数量的方法

具体修改的文件如下(此处以 EMLOG 5.3.1 为例 要屏蔽的文章分类 ID 为 8)

查找 Emlog 根目录include/controller/log_controller.php

找到第 1 处 $sqlSegment ='ORDER BY top DESC ,date DESC';
添加and sortid != 8 将其修改为$sqlSegment ='and sortid != 8 ORDER BY top DESC ,date DESC';
如需屏蔽多个分类 继续添加and sortid != *即可

另外附带提一下禁止访问某个分类文章代码,代码来源于em论坛hackhp之手,以下代码放入模板header.php最顶端即可

<?php if($sortid==1){exit("禁止访问");}?>

 

来源https://cloud.tencent.com/developer/article/2284431?areaSource=102001.20&traceId=5ZbipxgyFNfUHSnnA7y7V

收藏

推荐阅读:


扫描二维码,在手机上阅读
取消
微信二维码
微信二维码
支付宝二维码
版权所有:新之助
文章标题:emlog首页隐藏特定分类文章的方法
除非注明,文章均为 新之助 原创,请勿用于任何商业用途,转载请注明作者和出处 新之助