在网站内容管理系统中,实现会员与非会员发布文章的审核差异是一项常见的需求。以下将详细介绍如何通过修改代码实现这一功能,并优化SEO效果。

首先,在后台设置中进行基础调整:

进入系统基本参数设置,找到会员设置下的“会员权限开通状态”,将其改为0。

接下来,需要对代码进行具体修改。在 member 文件夹下找到 archives_sg_add.php 文件,打开后定位到以下代码段:


if($cInfos['arcsta']==0) {
    $arcrank = 0;
}
else if($cInfos['arcsta']==1) {
    $arcrank = 0;
}
else {
    $arcrank = -1;
}
    

分析发现,变量 $arcrank 决定文章是否需要审核。如果值为0,则表示文章已通过审核;若为-1,则表示文章待审核。因此,我们可以通过判断用户是否登录来决定 $arcrank 的值。

以下是修改后的代码:


if($cInfos['arcsta']==0) {
    $arcrank = 0;
}
else if($cInfos['arcsta']==1) {
    $arcrank = 0;
}
else if($cfg_ml->IsLogin()) {
    $arcrank = 0;
}
else {
    $arcrank = -1;
}
    

通过以上代码调整,实现了会员发布文章时无需审核,而非会员发布的内容则需等待管理员审核。


此外,针对 Dedecms 系统,还可以进一步优化:

前往网站根目录下的 member/inc 文件夹,找到 archives_check.php 文件。在其中添加如下代码:


// 文档的默认状态
if($cInfos['arcsta']==0) {
    $ismake = 0;
    $arcrank = 0;
}
else if($cInfos['arcsta']==1) {
    $ismake = -1;
    $arcrank = 0;
}
else if($cfg_ml->IsLogin()) {
    $arcrank = 0;
}
else {
    $ismake = 0;
    $arcrank = -1;
}
    

这段代码同样通过判断用户登录状态,确保只有会员可以即时发布文章,而非会员的内容需经过管理员审核。

总结来说,通过上述方法可以有效实现会员与非会员在发布文章时的不同审核机制,提升用户体验的同时也增强了网站的安全性和管理效率。

希望这些技巧能帮助您更好地管理和优化您的网站内容!