我正在尝试创建一个名为youtube视频链接的帖子元数据。我也能够创造,但一个问题。我的元数据没有保存。当我将链接放入元数据字段并更新帖子时,它不会保存并且元数据输入字段再次为空。请检查我的代码,让我知道我在做错了什么。
<?php
/*
* Plugin Name: AmanHstu Video Widget
* Author: Amanur Rahman
* Author URI: http://www.ahsanurrahman.com
* Plugin URI: http://www.ahsanurrahman.com
* Description: This will show a video widget in widget section
* Version: 1.0
*/
// Show metabox in post editing page
add_action('add_meta_boxes','amanhstu_add_metabox');
// Save Metabox Data
add_action('save_post', 'amanhstu_save_metabox');
function amanhstu_add_metabox(){
add_meta_box('amanhstu_youtube', 'Youtube Video Link', 'youtube_video_handler', 'post');
}
/*
*
* Meta Box handler
*/
function youtube_video_handler(){
$value = get_post_custom($post->ID);
$youtube_link = esc_attr($value['amanhstu_youtube']['0']);
echo '<label>Youtube Link</label> <input type="text" id="amanhstu_youtube" value="'.$youtube_link.'" />';
}
function amanhstu_save_metabox($post_id){
//don't save meta data if it is autosave
if( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){
return;
}
if( !current_user_can( 'edit_post' )){
return;
}
if( isset($_POST['amanhstu_youtube'])){
update_post_meta($post_id, 'amanhstu_youtube', esc_url($_POST['amanhstu_youtube']));
}
}
?>
答案 0 :(得分:1)
您的输入需要name
属性才能通过$_POST['amanhstu_youtube']
echo '<label>Youtube Link</label> <input type="text" name="amanhstu_youtube" id="amanhstu_youtube" value="'.$youtube_link.'" />';