更改作者、禁用评论、为库中的所有项目启用trackback

时间:2016-08-12 作者:kostas

更改作者、禁用注释、为库中的所有项目启用trackback,只需单击一次,而不是分别单击其中的每一项?

2 个回复
SO网友:Krzysztof Grabania

必须运行SQL查询才能执行此操作。将此代码放入functions.php 一次,运行您的网站,然后将其删除。

global $wpdb;
$author = 1;
$comment_status = \'closed\';
$ping_status = \'open\';

$query = sprintf(
    \'UPDATE %sposts SET `author` = %d, `comment_status` = %s, `ping_status` = %s\',
    $wpdb->prefix,
    $author,
    $comment_status,
    $ping_status
);

$wpdb->query($query);
或者直接从数据库运行(例如从phpMyAdmin):

UPDATE `wp_posts` SET `author` = 1, `comment_status` = \'closed\', `ping_status` = \'open\'
当然,您必须将作者id更改为您的作者idwp_posts 使用表前缀创建表名

SO网友:bueltge

您可以编写自定义插件,使用核心功能更改注释、trackback的状态。使用以下代码示例,将其添加到自定义插件(一个小类)中,并将其作为插件激活。该类使用两个过滤器挂钩来关闭注释和trackback,第二个是停用的,但位于源代码内部,以便更好地理解或满足其他需求。

add_action( \'plugins_loaded\', array( \'FbCloseComments\', \'get_object\' ) );
class FbCloseComments {

    /**
     * Class object.
     *
     * @var null
     */
    static private $classobj;

    /**
     * Handler for the action \'init\'. Instantiates this class.
     *
     * @access public
     * @return null|Remove_Comments_Absolute $classobj object
     */
    public static function get_object() {

        if ( NULL === self::$classobj ) {
            self::$classobj = new self;
        }
        return self::$classobj;
    }

    public function __construct() {

        add_filter( \'comments_open\', array( $this, \'close_comments\' ), 20, 2 );
        //add_filter( \'pings_open\', array( $this, \'close_comments\' ), 20, 2 );
    }

    /**
     * Close comments, if open.
     *
     * @access public
     *
     * @param string|boolean $open
     * @param string|integer $post_id
     *
     * @return bool|string $open
     */
    public function close_comments( $open, $post_id ) {

        // If not open, than back.
        if ( ! $open ) {
            return $open;
        }

        $post = get_post( $post_id );

        // For all post types.
        if ( $post->post_type ) {
            return FALSE;
        } // \'closed\' don`t work; @see http://codex.wordpress.org/Option_Reference#Discussion

        return $open;
    }
 }
作者的变更应通过save_post 钩您可以在下面的示例中找到答案answer.