好的,John Enxada,我看了主题管理部分。你所要求的东西是困难的,但却是可能的。首先,你必须检查他们是如何在两种帖子类型之间创建关系的,即线程和回复之间的关系。我没有多余的数据库(无法在数据库中查看以检查它们之间的关系)。你必须自己做。
为此,您必须自己创建一个脚本。我只能帮助你如何创建它。首先获取数据库的备份,以便在出现任何问题时进行备份。
一旦你知道了,你就可以把帖子的类型改成线程。你已经这么做了。然后您可以使用get_posts
作用然后使用for/foreach
循环使用get_comments
. 再次应用for/foreach
逐个循环每个注释。然后使用wp_insert_post
将这些评论作为帖子插入post_type = replies
.
这是一段代码,它将以某种方式帮助您。
$args = array(
\'posts_per_page\' => -1,
\'post_type\' => \'thread\'
);
$threads = get_posts( $args ); // Get all posts of thread.
foreach($threads as $thread):
$comment_args = array(
\'post_id\' => $thread->ID
);
$thread_comments = get_comments($comment_args); // Get all comments of the post.
foreach($thread_comments as $thread_comment):
$reply_post = array(
\'post_status\' => \'publish\', // Set replies status.
\'post_type\' => \'replies\', // Set post type.
\'post_author\' => $thread_comment->user_id, // Set comment user id as post id.
\'post_title\' => \'RE: \'.$thread->post_title, //They prefix RE: to every reply so i think we might be do the same.
\'post_content\' => $thread_comment->comment_content // Set comment content as post content.
);
wp_insert_post($reply_post); // Insert the comment as post having post type replies.
// Write the code through which they create relation between these post types
endforeach;
endforeach;
这些是帖子在插入时必须具备的一些重要价值。但我认为他们正在插入更多的值
post_meta
. 所以你也必须关注这些价值观。启动脚本后,它会将您的所有评论转换为具有
post_type = replies
.