gpt4 book ai didi

MySQL根据wp_meta值更新wp_posts?

转载 作者:行者123 更新时间:2023-11-29 22:11:04 24 4
gpt4 key购买 nike

我正在为我的 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/

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