【发布时间】:2016-06-16 06:39:53
【问题描述】:
所以我有一个自定义字段 X 可以在提交或更新帖子时自然地保存它的价值。用户输入此字段的值。
我想做的是,在帖子更新后,我想用 X 的值自动更新另一个名为 Y 的自定义帖子元字段。所以 Y 字段应该在用户不知道的情况下更新(在后端),我需要使用什么正确的钩子和函数?
【问题讨论】:
-
我认为你可以使用 save_post 钩子
所以我有一个自定义字段 X 可以在提交或更新帖子时自然地保存它的价值。用户输入此字段的值。
我想做的是,在帖子更新后,我想用 X 的值自动更新另一个名为 Y 的自定义帖子元字段。所以 Y 字段应该在用户不知道的情况下更新(在后端),我需要使用什么正确的钩子和函数?
【问题讨论】:
你好在这里你可以使用 save_post 钩子,无论帖子是创建还是更新,都会调用它。
function my_custom_field_save( $post_id ) {
// do your stuff here....
}
add_action('save_post', 'my_custom_field_save');
希望对你有帮助。
【讨论】:
您可以使用save_post 操作挂钩在创建或更新帖子或页面时触发后更新元
add_action( 'save_post', 'update_custom_value', 10, 3 );
function update_custom_value( $post_id,$post, $update ) {
if ( 'post'== $post->post_type ) {
if ( isset( $_REQUEST['x'] ) ) {
$x= $_REQUEST['x'];
update_post_meta($post_id,'Y', $x);
}
}
}
//在创建帖子时仅对更新Y进行一次编辑
add_action( 'save_post', 'update_custom_value', 10, 3 );
function update_custom_value( $post_id,$post, $update ) {
if ( 'post'== $post->post_type ) {
if ( isset( $_REQUEST['x'] ) ) {
$x= $_REQUEST['x'];
if(get_post_meta($post_id,'Y',true)=='')
{
update_post_meta($post_id,'Y', $x);
}
}
}
}
【讨论】: