gpt4 book ai didi

wordpress 在 "draft"操作中将 post_status 设置为 'save_post'

转载 作者:行者123 更新时间:2023-12-04 05:03:46 25 4
gpt4 key购买 nike

我有一个适用于我的自定义帖子类型的自定义函数。处理过程中 save_post行动:

add_action( 'save_post', 'my_custom_function' );

我想将帖子状态设置为草稿(以防从外部 api 获取自定义数据时出现问题)。
在我的 my_custom_function功能我有这个小块:
if ($error == true) {
$override_post = array();
$override_post['ID'] = $post_id;
$override_post['post_status'] = 'draft';
wp_update_post( $override_post );
}

但似乎,在 save_post 之后正在处理,然后 post_status正在重新设置。

任何人都有一个想法,我应该在哪里 Hook ,所以在保存发布数据的同时我可以修改它的 post_status , post_date以及其他一些发布数据信息,以便它们不会被覆盖?

最佳答案

你应该把它挂到 wp_insert_post_data .然后你可以使用这样的函数将你的帖子状态设置为草稿:

add_filter( 'wp_insert_post_data', 'set_post_to_draft', 99, 2 );

function set_post_to_draft( $data, $postarr ) {

if ( your_condition ) {
$data['post_status'] = 'draft';
}

return $data;
}

关于wordpress 在 "draft"操作中将 post_status 设置为 'save_post',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com