在使用DEDECMS时,未审核文档的TAG仍会显示在TAG列表页面上。尽管点击进入TAG时,相关的未审核文章不会显示出来,但这种现象对用户体验来说并不友好。由于DEDECMS本身并未提供此功能,因此我们需要手动修改TAG的显示库文件 tag.lib.php,以实现不显示未审核文档的TAG。

以下是两种解决方法:

方法一

首先打开 /include/taglib/tag.lib.php 文件。

找到以下代码:


if(!empty($typeid))
{
$addsql = " where typeid='$typeid' ";
}
    

将其修改为:


$dsql->SetQuery("Select tid From `dede_taglist` where arcrank<=-1");  
        $dsql->Execute();
        $ids = '';
        while($row = $dsql->GetArray())
        {
            $tid = $row['tid'];
            $cquery = "Select count(*) as dd From `dede_taglist` where tid = $tid and arcrank<=-1";
            $crow = $dsql->GetOne($cquery);
            if(!$crow['dd'])
            {
                $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] );
            }
        }
        if($ids != '')
        {
            $addsql= " where id not in($ids) ";
        }
        if(!empty($typeid))
        {
            if($addsql)
            {
                $addsql= " and typeid='$typeid' ";
            }else{
                $addsql= " where typeid='$typeid'" ;
            }
        }
    

方法二

同样打开 /include/taglib/tag.lib.php 文件。

找到以下代码:


$row['keyword'] = $row['tag'];
    

在其前边加入以下代码:


$rankrowss = $dsql -> GetOne("SELECT count(tid) as rankcount FROM `js_taglist` WHERE tid = $row[id] and arcrank >= 0");
if($rankrowss[rankcount] == 0) continue;
    

通过以上两种方法之一,就可以成功实现DEDECMS不显示未审核文档的TAG。这将有助于提升用户体验,并确保网站内容的质量和一致性。

希望这些方法能够帮助到您!如果您有任何疑问或需要进一步的帮助,请随时联系我们。