dede文章默认不审核,如何开启审核功能?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文

DEDE 的审核机制

在 DEDE 中,文章发布后的状态通常由一个字段控制,即 arcrank 字段。

dede 文章默认不审核审核
(图片来源网络,侵删)
  • arcrank = 0:表示文章 已审核,前台可以正常显示。
  • arcrank > 0:表示文章 未审核,这个数字可以对应不同的审核级别,1 可能是“待审核”,2 可能是“退回修改”等,在默认情况下,只要不是 0,文章在前台就无法被访问到。

要实现“文章默认不审核”,我们需要修改的核心就是:让文章在初次被添加到数据库时,arcrank 字段的默认值不再是 0,而是其他值(1)。


修改数据库表结构(最直接、最推荐的方法)

这是最根本的解决方法,一劳永逸,通过修改 dede_archives 表(文章主表)的结构,为 arcrank 字段设置一个新的默认值。

操作步骤:

  1. 登录你的网站数据库管理工具

    dede 文章默认不审核审核
    (图片来源网络,侵删)
    • 通常是你虚拟主机控制面板(如 cPanel、宝塔面板)自带的 phpMyAdmin。
    • 或者使用本地数据库管理工具,如 Navicat、SQLyog 等。
  2. 选择正确的数据库

    在左侧列表中,选择你的 DEDE 网站所使用的数据库名。

  3. 找到 dede_archives

    • 在数据库的列表中,找到 dede_archives 这张表。dede_ 是默认的前缀,如果你在安装时修改过,请使用你的实际前缀。
  4. 修改 arcrank 字段的默认值

    • 点击 dede_archives 表,然后点击“结构”或“Structure”选项卡。
    • 在字段列表中找到 arcrank 这一行。
    • 在“操作”或“Action”列中,点击“更改”或“Change”。
    • 在弹出的编辑页面中,找到“默认值”或“Default”这一项。
    • 将默认值从 0 修改为你想要的值,1
    • 点击“执行”或“Go”保存修改。

完成! 当你通过任何方式(后台手动发布、会员投稿、采集等)添加新文章时,只要没有特别指定,arcrank 字段的值就会自动变成 1,即“未审核”状态。


修改核心程序文件(针对特定发布方式)

如果你只想让“会员投稿”默认不审核,或者“后台手动发布”默认不审核,那么可以通过修改相应的 PHP 文件来实现,这种方法比较灵活,但不如方法一彻底,且升级 DEDE 后可能需要修改。

场景1:会员投稿默认不审核

需要修改文件:/member/contents_add.php

  1. 打开 /member/contents_add.php 文件。

  2. 找到处理文章入库的 SQL 语句,通常在文件末尾,类似这样:

    $inquery = "INSERT INTO `dede_archives`(typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,
    color,writer,source,litpic,pubdate,senddate,mid,description,keywords,notpost,adminid,templet,userip)
    VALUES ('$typeid','$typeid2','$sortrank','$flag','$ismake','$channel','$arcrank','$click','$money','$title','$shorttitle',
    '$color','$writer','$source','$litpic','$pubdate','$senddate','$uid','$description','$keywords','$notpost','$adminid','$templet','$userip');";
  3. 找到 $arcrank 这个变量,在上面这段代码之前,找到 $arcrank 是如何被赋值的,它可能来自一个表单变量,如 $_POST['arcrank']

  4. 强制修改其值:在执行 INSERT 语句之前,强制将 $arcrank 的值设置为 1

    // ... 前面的代码 ...
    // 在执行入库语句之前,强制设置审核状态为未审核
    $arcrank = 1; // 强制设置为未审核
    $inquery = "INSERT INTO `dede_archives`(...) VALUES (...'$arcrank'...);";
    $dsql->ExecuteNoneQuery($inquery);
    // ... 后面的代码 ...

场景2:后台手动发布默认不审核

需要修改文件:/dede/article_add.php

这个文件的修改逻辑和会员投稿类似。

  1. 打开 /dede/article_add.php 文件。

  2. 找到处理文章入库的 SQL 语句。

  3. 找到 $arcrank 变量,并强制将其值修改为 1

    // ... 前面的代码 ...
    // 强制设置审核状态为未审核
    $arcrank = 1;
    $inquery = "INSERT INTO `dede_archives`(...) VALUES (...'$arcrank'...);";
    $dsql->ExecuteNoneQuery($inquery);
    // ... 后面的代码 ...

修改后台模板(仅影响界面显示,不改变逻辑)

这个方法只是让你在后台发布文章时,默认就勾选了“审核”选项,但并不能改变文章的最终状态,它配合方法一或方法二使用,会更方便。

需要修改文件:/dede/templets/article_add.htm

  1. 打开 /dede/templets/article_add.htm 文件。
  2. 找到“是否审核”的单选按钮组,代码通常是这样的:
    <tr>
      <td height="24" colspan="2"> <strong>是否审核:</strong>
        <input name='ischeck' type='radio' class='np' value='1' checked>
        是
        &nbsp;&nbsp;
        <input type='radio' name='ischeck' class='np' value='0'>
        否
      </td>
    </tr>
  3. 修改 value 的值,让“否”被默认选中:
    <tr>
      <td height="24" colspan="2"> <strong>是否审核:</strong>
        <input name='ischeck' type='radio' class='np' value='1'>
        是
        &nbsp;&nbsp;
        <input type='radio' name='ischeck' class='np' value='0' checked> <!-- 将 checked 属性移到这里 -->
        否
      </td>
    </tr>

    注意:这个修改只是改变了界面上的默认选项,如果你同时使用了方法一(修改数据库默认值),那么即使这里默认选了“是”,文章入库时 arcrank 仍然是 1(未审核),如果没使用方法一,那么后台发布时还是要手动点一下“否”。


总结与建议

方法 优点 缺点 适用场景
修改数据库 一劳永逸,对所有发布方式都有效,是根本的解决方法。 需要操作数据库,有一定技术门槛。 强烈推荐,这是最规范、最彻底的解决方案。
修改程序文件 针对性强,可以灵活控制特定功能(如仅会员投稿不审核)。 修改核心文件,升级 DEDE 后可能被覆盖,需要重新修改。 只需要对特定功能进行修改时使用。
修改后台模板 简单,方便管理员操作,避免遗漏。 不改变文章的实际状态,只是界面优化。 配合方法一或方法二使用,提升管理效率。

最佳实践方案:

  1. 首选【方法一】:修改 dede_archives 表中 arcrank 字段的默认值为 1,这解决了所有来源的文章默认不审核的问题。
  2. 辅助【方法三】:修改 /dede/templets/article_add.htm,让后台发布时默认勾选“否”,这样管理员在发布文章时就不会忘记,流程更顺畅。

通过以上组合,你就可以完美实现“DEDE 文章默认不审核”的需求了。

-- 展开阅读全文 --
头像
织梦后台模板为何无法使用?
« 上一篇 01-22
织梦 缩略图 图片质量
下一篇 » 01-22

相关文章

取消
微信二维码
支付宝二维码

目录[+]