如何在WP All Import插件中根据元字段跳过产品更新?
解决方案
你可以借助WP All Import提供的pmxi_pre_update_post钩子实现需求,这个钩子能让你在产品更新前判断是否跳过该产品。
具体代码实现
把以下代码添加到主题的functions.php文件中,或者用代码片段插件来导入:
add_filter('pmxi_pre_update_post', 'skip_product_update_based_on_meta', 10, 3); function skip_product_update_based_on_meta($continue_update, $post_id, $import_id) { // 获取目标元字段的值 $skip_update = get_post_meta($post_id, '_skip_on_update_key', true); // 若元字段值为'1',返回false阻止更新 if ($skip_update === '1') { return false; } // 否则允许继续更新 return $continue_update; }
代码说明
pmxi_pre_update_post:WP All Import在更新产品前触发的钩子,返回false会终止当前产品的更新流程。get_post_meta($post_id, '_skip_on_update_key', true):读取当前产品的_skip_on_update_key元字段值。- 当元字段值严格等于'1'时,返回
false,WP All Import就会跳过该产品的更新操作。
注意事项
- 确认你的元字段
_skip_on_update_key是被设置为字符串'1',如果是数字类型的1,需要把判断条件改成$skip_update === 1。 - 测试前建议做好数据备份,避免导入过程中出现异常。
内容的提问来源于stack exchange,提问作者Umesh Balayar
相关产品推荐
相关产品推荐

