以编程方式复制文章



我会尽可能地解释清楚。我正在做一个项目,我们正在建立一个基于WordPress的应用程序。我们有一个用户界面,其中包括一个按钮来复制一个帖子。然而,由于nonce,这部分总是失败。

我已经能够创建一个nonce,但是这个nonce没有通过验证。我想是因为我要从admin.php页面以外的页面复制这篇文章。

我的问题-是否有可能从另一个页面复制一个帖子,然后直接到新的草稿帖子?以前有人做到过吗?

下面是相同的代码。如果希望在复制页面或帖子时更改帖子类型,则可能需要更改其中一个参数。请检查我的代码和注释。

您需要调用这个函数并传递您的post id参数。

function duplicate_post($post_id) {
$title   = get_the_title($post_id);
$oldpost = get_post($post_id);
$post    = array(
'post_title' => $title,
'post_status' => 'publish',
'post_type' => $oldpost->post_type,
'post_author' => 1
);
$new_post_id = wp_insert_post($post);
// Copy post metadata
$data = get_post_custom($post_id);
foreach ( $data as $key => $values) {
foreach ($values as $value) {
add_post_meta( $new_post_id, $key, $value );
}
}
return $new_post_id;
}

最新更新