【问题标题】:All Import Plugin - Update all posts after cron import所有导入插件 - cron 导入后更新所有帖子
【发布时间】:2018-04-12 10:33:14
【问题描述】:

我在尝试编写的函数时遇到了一些问题。

背后的想法:

我正在使用 WP All Import 在我的服务器上导入一个 CSV 文件,它每天都作为一个 cron 作业运行并且正常工作。

我已将我的函数逻辑设置为自定义帖子类型“列表”内的自定义字段的“get_post_meta”,如果返回空,则添加分类术语“新”,如果返回 true,则添加分类术语“使用”。这适用于“save_post”操作,但仅当我在导入后进入每个帖子并点击“更新”时才有效。有什么办法可以动态更新所有帖子,所以我不必在导入后更新每个帖子。我下面的代码适用于手动更新。提前致谢!

function save_cp_term_meta( $post_id, $post, $update ) {
    $termshouldbe='new';

    $meta_value = get_post_meta( $post->ID, 'new_used_cat', true ); 
        if  (!empty( $meta_value )) {$termshouldbe='used';}
        else {} 

    wp_set_object_terms($post_id,$termshouldbe,'vehicle_condition',false);
}
add_action( 'save_post', 'save_cp_term_meta', 10, 3 );

【问题讨论】:

    标签: php wordpress plugins cron


    【解决方案1】:

    您是否检查了导入的导入设置。在配置高级设置标签下,有一个复选框在导入期间通过禁用 wp_insert_post 中的 do_action 调用来提高速度。 取消选中该复选框,它应该在导入期间自动工作。

    【讨论】:

    • 这是 WP All Import 的一项功能。在每次导入中,您可以禁用可能已从各种插件或 functions.php 中实现的任何钩子,就像问题中一样。它有助于提高导入速度,如果导入文件有很多条目,这通常是首选。但在这种情况下,需要关闭它才能使 add_action 挂钩起作用。
    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多