是否在主题中默认在下拉列表中显示自定义字段的“名称”?

时间:2011-02-17 作者:janoChen

我的单曲。php文件包含以下代码:

<?php // Set and display custom field
    $intro_image = get_post_meta($post->ID, \'Intro Image\', true); ?>
    <div class="block-1">
        <img src="<?php echo $intro_image; ?>" alt="" />
    </div> <?php
?>
用户必须在“名称”字段中键入简介图像(一次),以便下次在下拉列表中看到它。我认为,如果用户在安装我的Wordpress主题后能立即看到“简介图像”,那就更好了(我觉得用户应该选择可用的选项,而不是自己写下来)。

我不确定我说的话是否有意义。但是在写之前,如何在下拉列表中找到这些“名字”?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

你最好的选择是在你的主题中创建一个自定义的元框,然后用户将拥有它,无论他之前是否键入过一次。

// Hook into WordPress
add_action( \'admin_init\', \'add_custom_metabox\' );
add_action( \'save_post\', \'save_custom_intro_image\' );

/**
 * Add meta box
 */
function add_custom_metabox() {
    add_meta_box( \'custom-metabox\', __( \'Intro Image\' ), \'intro_image_custom_metabox\', \'post\', \'side\', \'high\' );
}

/**
 * Display the metabox
 */
function intro_image_custom_metabox() {
    global $post;
    $introimage = get_post_meta( $post->ID, \'intro_image\', true );
        ?>
    <p><label for="intro_image">Intro Image:<br />
        <input id="siteurl" size="37" name="intro_image" value="<?php if( $introimage ) { echo $introimage; } ?>" /></label></p>
    <?php
}

/**
 * Process the custom metabox fields
 */
function save_custom_intro_image( $post_id ) {
    global $post;   

    if( $_POST ) {
        update_post_meta( $post->ID, \'intro_image\', $_POST[\'intro_image\'] );
    }
}
希望这有帮助

结束

相关推荐