作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个适用于我的自定义帖子类型的自定义函数。处理过程中 save_post
行动:
add_action( 'save_post', 'my_custom_function' );
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
正在重新设置。
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/
我扩展了 woocommerce 的产品帖子类型,使其具有一个名为“expired”的自定义 post_status。 期望的行为是将产品发布到商店并将其设置为在特定时间跨度后过期。 只有已发布的产品
我有一个适用于我的自定义帖子类型的自定义函数。处理过程中 save_post行动: add_action( 'save_post', 'my_custom_function' ); 我想将帖子状态设置
我是一名优秀的程序员,十分优秀!