为dd_meta_boxes钩子添加处理函数 add_meta_boxes钩子可用于设置元数据框
add_action('add_meta_boxes','my_add_meta_box');
设置元数据框
function my_add_meta_box(){
$screens = array('post','page');//设置生效管理页面
add_meta_box(
'my_meta_box', //id
'转载自',//标题
'my_meta_box_fun', //处理函数
$screens, //生效的页面
'side' //显示位置
);
}
元数据框处理函数
function my_meta_box_fun(){
//添加一个验证信息
wp_nonce_field('my_save_meta_box_data','my_meta_box_nonce');
//输出元数据信息
$value = get_post_meta($post->ID,'zhuanzai',true);
echo "<label>";
echo "本文转载自:";
echo "</label>";
echo "<input type='text' name='zhuanzai' value=".$value.">";
}
元数据框数据处理 当文章保存时,我们要将元数据框的信息一并保存 这里可以使用 save_post
钩子
add_action('add_meta_boxes','my_add_meta_box');
add_action('save_post','my_meta_box_data_fun',10,2);
...
echo "<input type='text' name='zhuanzai' value=".$value.">";
}
//元数据框数据处理
function my_meta_box_data_fun($post_id,$post){
//验证信息不存在
if(!isset($_POST['my_meta_box_nonce'])){
return;
}
//验证信息存在但没有通过验证
if(!wp_verify_nonce($_POST['my_meta_box_nonce'],'my_save_meta_box_data')){
return;
}
//元数据没有信息
if(!isset($_POST['zhuanzai'])){
return;
}
//清理用户输入
$my_data = sanitize_text_field($_POST['zhuanzai']);
//保存
update_post_meta($post_id,'zhuanzai',$my_data);
}
当再次添加文章时我们就可以对设置元数据信息