2015-09-07 2 views
0

Я пытаюсь создать метаданные сообщения, называемые youtube video link. Я могу создать и это, но одну проблему. Мои метаданные не сохраняются. Когда я помещаю ссылку в поле метаданных и обновляю сообщение, она не сохраняется, а поле ввода метаданных снова пусто. Пожалуйста, проверьте мой код и сообщите мне, что я делаю неправильно с этим.Wordpress Meta Data

<?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

Ваш вклад необходимо name атрибут, чтобы быть доступным через $_POST['amanhstu_youtube']

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

Спасибо. Это работает сейчас. –