首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于MySQL值的wp_posts更新?

基于MySQL值的wp_posts更新?
EN

Stack Overflow用户
提问于 2015-07-27 23:21:10
回答 1查看 87关注 0票数 0

我正在为我的WordPress站点创建一个自定义插件,它将运行一个查询。该插件将通过Wordpress的wp_schedule_event功能运行,每天运行。此查询将处理带有名为engine的自定义字段的wpcf-engine-days-to-go post类型。目前,我的代码不起作用(见下文)

目标

当自定义字段值post_status达到'0‘时,我想将wpcf-engine-days-to-go更新为“草案”。post_status值位于wp_posts表中,wpcf-engine-days-to-go位于wp_postmeta表中。

问题

在一个表中更新一个值的正确查询是什么,特别是在我的示例中?

代码语言:javascript
复制
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');
}
EN

回答 1

Stack Overflow用户

发布于 2015-07-28 04:59:41

实际上,您需要使用wp_update_post函数( post )。这将确保所有其他可能的钩子/过滤器在现在和将来都能根据需要启动。

而且,WordPress的cron可能有点古怪,因为它只基于用户访问(运行PHP时)触发。如果站点流量较低,则可能必须运行实际的服务器cron作业。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31664957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档