如何在所有帖子的第一段中批量添加一行

时间:2018-11-16 作者:Link Network

我想在所有帖子内容的开头添加一句话,直接添加到post\\u content WordPress数据库中。我该怎么做?要么通过function.php 或MySQL命令。

2 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

我会选择@butlerblog发布的解决方案,它更容易管理和在未来进行更改,而且是更好的WP实践。

但是如果你问。。。以下是您可以做到这一点的方法:

1。WP方式:

function prepend_content_to_posts() {
    $to_prepend = \'This will be prepended\';

    $posts = get_posts( array( \'posts_per_page\' => -1 ) );
    foreach ( $posts as $post ) {
        wp_update_post( array(
            \'ID\' => $post->ID,
            \'post_content\' => $to_prepend . $post->post_content
        ) );
    }
}
然后您必须调用该函数。小心不要两次调用它-在这种情况下,它会两次添加您的内容。

2。MySQL方式:

UPDATE wp_posts
    SET post_content = CONCAT(\'<YOUR STRING TO PREPEND>\', post_content) 
    WHERE post_type = \'post\' AND post_status = \'publish\'
请注意根据您的配置更改表前缀。

SO网友:butlerblog

与其直接将其插入数据库,不如在使用the_content 滤器这样,您就不需要进行任何以后可能要撤消的db更改。

add_filter( \'the_content\', \'my_extra_line\' );
function my_extra_line( $content ) {

    if ( "post" == get_post_type() ) {
        // If the content is a post, add an extra line to the content.
        $content = "My extra line of content. " . $content;
    }

    return $content;
}

结束

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?