我已经安装了Meta Box wordpress 插件并创建了一个带有选项的text
字段元框:clone
add_action( 'admin_init', 'rw_register_meta_boxes' );
function rw_register_meta_boxes()
{
$meta_boxes = array();
$meta_boxes[] = array(
'id' => 'vip',
'title' => 'VIP Links',
'pages' => array( 'post'),
'fields' => array(
array(
'name' => 'Download links',
'id' => "vip",
'desc' => 'Type here',
'type' => 'text',
'std' => '',
'size' => 100,
'clone' => true,
),
),
'validation' => array(
'rules' => array(
"vip" => array(
'required' => false,
),
)
)
);
foreach ( $meta_boxes as $meta_box )
{
new RW_Meta_Box( $meta_box );
}
}
它工作并添加了元框。但问题是,我需要在发布后对值做一些工作,然后更新元框值:
$VIP = get_post_meta($pid, 'vip', false);
/*
do some operations here
*/
update_post_meta($pid, 'vip', $NEW_VIP);
此代码段位于发布后调用的函数中:add_action('publish_post', 'function_name');
但是不会更新!我试图查看函数是否运行以及$NEW_VIP
包含哪些值。所以我在update_post_meta()
函数之前添加了一行来保证自己:
print_r($NEW_VIP); die();
输出符合预期并且$NEW_VIP
具有正确的值(是一个数组)但update_post_meta
不保存它并且元框值将始终保持不变。
任何帮助将不胜感激。