作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的 WordPress 网站创建一个将运行查询的自定义插件。该插件将通过 Wordpress 的 wp_schedule_event
函数每天运行。此查询将使用名为 wpcf-engine-days-to-go
的自定义字段对 engine
帖子类型进行操作。目前,我的代码无法正常工作(见下文)
目标
当自定义字段值 wpcf-engine-days-to-go
达到“0”时,我想将 post_status
更新为“草稿”。 post_status
值位于 wp_posts
表中,wpcf-engine-days-to-go
位于 wp_postmeta 中
表。
问题
根据另一个表更新一个表中的值的正确查询是什么,特别是在我的示例中?
register_activation_hook(__FILE__, 'tdengine_my_activation');
add_action('tdengine_my_daily_event', 'tdengine_do_this_daily');
function tdengine_my_activation() {
wp_schedule_event(time(), 'daily', 'tdengine_my_daily_event');
}
function tdengine_do_this_daily() {
global $wpdb;
$query = "UPDATE `" . $wpdb->prefix . "posts` SET `post_status`=`draft` WHERE `meta_key` = 'wpcf-engine-days-to-go' = 0 ";
$wpdb->query($query);
}
register_deactivation_hook(__FILE__, 'tdengine_my_deactivation');
function tdengine_my_deactivation() {
wp_clear_scheduled_hook('tdengine_my_daily_event');
}
最佳答案
您实际上想要使用 wp_update_post 函数 ( https://codex.wordpress.org/Function_Reference/wp_update_post )。这将确保所有其他可能的钩子(Hook)/过滤器根据需要触发,无论是现在还是将来。
此外,WordPress 的 cron 可能有点奇怪,因为它仅根据用户访问(当 PHP 运行时)触发。如果您的网站流量较低,您可能必须运行实际的服务器 cron 作业。
关于MySQL根据wp_meta值更新wp_posts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664957/
我是一名优秀的程序员,十分优秀!