自定义源的备选方案。我已经阅读了这些答案,但这些插件很旧,或者有很多选择,我将留下我的小解决方案。
我从来不知道把所有评论从一个WordPress帖子复制到另一个帖子是如此简单。以下代码段复制了$post_id
到$new_post_id
.
<?php
// copy all comments from post $post_id to post $new_post_id
foreach ( get_comments( array( \'post_id\' => $post_id ) ) as $comment ) {
$comment->comment_post_ID = $new_post_id;
wp_insert_comment( (array) $comment );
}
get_comments()
是一个围绕WP\\u Comment\\u查询的方便函数,因此如果将此代码段放入循环中,则可以省略“post\\u id”参数。
哦,如果您不需要复制而只需要移动注释,那么对您的数据库启动一些好的旧SQL可能会更好:
<?php
function move_comments( $from_post_id, $to_post_id ) {
global $wpdb;
$sql = sprintf(
\'UPDATE %s SET comment_post_id=%s WHERE comment_post_id=%s;\',
$wpdb->comments,
(int) $to_post_id,
(int) $from_post_id
);
$wpdb->query( $sql );
}