如何向wordpress页面添加元框 [英] how to add a meta box to wordpress pages

查看:31
本文介绍了如何向wordpress页面添加元框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想为页面制作此代码

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

}

推荐答案

这个:

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

应该指定page而不是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
}

查看 add_meta_box() 的 Codex.这些例子非常有帮助.您感兴趣的部分在参数"下.第四个参数允许您指定是否需要页面、帖子等上的元框.

Take a look at the Codex for add_meta_box(). The examples are very helpful. The portion you are interested in is under "Parameter". The fourth parameter allows you to specify whether you want the metabox on pages, posts, etc.

这篇关于如何向wordpress页面添加元框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆