0
在wordpress中,我需要对其进行编程,以便任何时候有人输入或更新称为“start_date”的后期元,一小段代码在保存前输入的内容上运行。Wordpress过滤器添加meta?
我需要采取什么输入并将其转换为unix时间戳。
有没有办法做到这一点?
如果不是,有没有办法在发布或更新帖子时添加代码,以便它检查该元并根据需要更新它?
在wordpress中,我需要对其进行编程,以便任何时候有人输入或更新称为“start_date”的后期元,一小段代码在保存前输入的内容上运行。Wordpress过滤器添加meta?
我需要采取什么输入并将其转换为unix时间戳。
有没有办法做到这一点?
如果不是,有没有办法在发布或更新帖子时添加代码,以便它检查该元并根据需要更新它?
假设您使用插件创建元框和自定义字段,可以执行以下操作。否则,这取决于他们如何保存数据,因为它可能会覆盖你的数据。
虽然取决于具体情况,但还是可以开始使用。
add_action('save_post', 'update_the_post_meta', 100, 2);
function update_the_post_meta($post_id, $post) {
if (defined('DOING_AJAX') && DOING_AJAX) { return; }
if (defined('DOING_CRON') && DOING_CRON) { return; }
if ($post->post_type == 'revision') { return; }
if (isset($_REQUEST['start_date'])) :
//do your timestamp code here and save it in $timestamp
add_post_meta($post_id, 'start_date', $timestamp, true) or update_post_meta($post_id, 'start_date', $timestamp);
else :
delete_post_meta($post_id, 'start_date');
endif;
}
现在add_action的优先级设置为100(数字越高,优先级越低)。所以,如果你想覆盖别人的功能,你可能需要增加优先级号码。另外,这是假设输入字段的名称是“start_date”。