2011-07-31 14 views
6

chcę, aby ten kod na stronachjak dodać meta pole do wordpress stron

add_action('add_meta_boxes', 'meta_box_video'); 
function meta_box_video() 
{ 
    add_meta_box('video-meta-box-id', 'Video Embed', 'meta_box_callback', 'post', 'normal', 'high'); 
} 

function meta_box_callback($post) 
{ 
    $values = get_post_custom($post->ID); 
    $selected = isset($values['meta_box_video_embed']) ? $values['meta_box_video_embed'][0] : ''; 

    wp_nonce_field('my_meta_box_nonce', 'meta_box_nonce'); 
    ?> 
    <p> 
     <label for="meta_box_video_embed"><p>Video Embed</p></label> 
     <textarea name="meta_box_video_embed" id="meta_box_video_embed" cols="62" rows="5" ><?php echo $selected; ?></textarea> 
    </p> 
    <p>Leave it Empty (if you want to use an image thumbnail) .</p> 
    <?php 
} 

add_action('save_post', 'meta_box_video_save'); 
function meta_box_video_save($post_id) 
{ 
    // Bail if we're doing an auto save 
    if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; 

    // if our nonce isn't there, or we can't verify it, bail 
    if(!isset($_POST['meta_box_nonce']) || !wp_verify_nonce($_POST['meta_box_nonce'], 'my_meta_box_nonce')) return; 

    // if our current user can't edit this post, bail 
    if(!current_user_can('edit_post')) return; 

    // now we can actually save the data 
    $allowed = array( 
     'a' => array(// on allow a tags 
      'href' => array() // and those anchords can only have href attribute 
     ) 
    ); 

    // Probably a good idea to make sure your data is set 

    if(isset($_POST['meta_box_video_embed'])) 
     update_post_meta($post_id, 'meta_box_video_embed', $_POST['meta_box_video_embed']); 

} 

Odpowiedz

15

to:

function meta_box_video() 
{ 
    add_meta_box('video-meta-box-id', 'Video Embed', 'meta_box_callback', 'post', 'normal', 'high'); 
} 

Należy określić page nie post.

function meta_box_video() 
{          // --- Parameters: --- 
    add_meta_box('video-meta-box-id', // ID attribute of metabox 
        'Video Embed',  // Title of metabox visible to user 
        'meta_box_callback', // Function that prints box in wp-admin 
        'page',    // Show box for posts, pages, custom, etc. 
        'normal',   // Where on the page to show the box 
        'high');   // Priority of box in display order 
} 

Spójrz na Codex for add_meta_box(). Przykłady są bardzo pomocne. Część, którą jesteś zainteresowany, jest pod "Parametrem". Czwarty parametr pozwala określić, czy chcesz mieć metabox na stronach, posty itp.

+1

ok, gotowe,;) – smashp

+0

Czy możesz wyjaśnić, jak wyświetlić te wartości na przodzie –

Powiązane problemy