Wordpress发布元数据

时间:2015-09-07 18:43:38

标签: wordpress metadata

我正在尝试创建一个名为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']));
    }



}
?>

1 个答案:

答案 0 :(得分:1)

您的输入需要name属性才能通过$_POST['amanhstu_youtube']

访问
echo '<label>Youtube Link</label> <input type="text" name="amanhstu_youtube" id="amanhstu_youtube" value="'.$youtube_link.'"  />';