WordPress - 删除自定义帖子类型的帖子



我正在尝试在wordpress中添加一个按钮,该按钮删除具有特定标题和当前用户作为作者的自定义帖子类型帖子。

发生的问题是所有帖子都被删除,所有job_alert帖子,不仅针对此特定作者或具有此标题。

有人能明白为什么吗?

$delete_post = array(
'post_type'     => 'job_alert',
'post_title'    => $title,
'post_status'   => 'publish',
'post_author'   => $current_user->ID
);
$posts = new WP_Query( $delete_post );
if ( $posts->have_posts() ) {
while ( $posts->have_posts() ) {
$posts->the_post();
wp_delete_post( get_the_ID());
}
}   

我也有这段代码可以创建一个帖子并且效果很好。类似的代码。

$new_post = array(
'post_type'     => 'job_alert',
'post_title'    => $title,
'post_status'   => 'publish',
'post_author'   => $current_user->ID
);
$post_id = wp_insert_post( $new_post );

要删除特定帖子,这是解决方案,

请在查询中使用name参数而不是post_title,然后只有它会返回您想要的所需帖子。

我已经修改了你的代码。请在下面找到更新的代码:

$delete_post = array(
'post_type'     => 'job_alert',
'name'    => $title,
'post_status'   => 'publish',
'post_author'   => $current_user->ID
);

现在,您需要的帖子将被退回。

希望这对您有所帮助,如果您有任何疑问,请告诉我。 谢谢。

最新更新