2011-07-31 28 views
6

bir meta kutusu eklemek nasıl ben sayfalarındawordpress sayfalarda

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']); 

} 

cevap

15

Bu için bu kodu yapmak istiyorum:

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

page değil post belirtmeli.

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 
} 

Codex for add_meta_box()'a bir bakın. Örnekler çok faydalıdır. İlgilendiğiniz bölüm "Parametre" altındadır. Dördüncü parametre, sayfalarda, yazılarda, vb. Metabox isteyip istemediğinizi belirtmenize olanak tanır.

+1

tamam bro, bitmiş;) – smashp

+0

Bu değerleri ön planda nasıl göstereceğinizi açıklayabilir misiniz? –