方法一:打开/include/taglib/tag.lib.php文件,找到代码(大约在第64行):
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'" ;
}
}
通过上述修改,可以有效避免未审核文档的tag标签出现在前端。
方法二:同样是打开/include/taglib/tag.lib.php文件,找到代码(大约在第85行):
$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;
以上两种方法都可以实现不显示未审核文档的tag标签。您可以根据实际情况选择适合的方法进行操作。
注意:在修改代码前,请务必备份原始文件,以防止意外情况导致网站无法正常运行。此外,如果您对PHP代码不熟悉,建议寻求专业人士的帮助,以免误操作影响网站功能。
通过这两种解决方案,您可以有效提升用户体验,同时优化DedeCMS的使用效果。希望本文能为您提供帮助!