在Wordpress全局选项页面上使用wp_dropdown_pages

时间:2016-02-23 15:44:17

标签: php wordpress

我有一个Wordpress主题选项页面,其中包含一些文本值供用户输入。这很好。

我正在努力的最后一步是让用户选择一个页面作为网站标题中的链接。

我已经开始显示页面的下拉列表了,但我不知道如何永久保存,以及如何获得价值。

这是我的Functions.php文件的相关部分:

/**
 * Global fields
 */
//Custom Theme Settings
add_action('admin_menu', 'add_gcf_interface');

function add_gcf_interface() {
    add_options_page('Quick access bar', 'Quick access bar', '8', 'functions', 'editglobalcustomfields');
}

function editglobalcustomfields() {
    ?>
    <div class='wrap'>
    <h2>Quick access bar fields</h2>
    <form method="post" action="options.php">
    <?php wp_nonce_field('update-options') ?>

    <p><strong>Phone number:</strong><br />
    <input type="text" name="phonenum" size="45" value="<?php echo get_option('phonenum'); ?>" /></p>

    <p><strong>Email address:</strong><br />
    <input type="text" name="emailaddress" size="45" value="<?php echo get_option('emailaddress'); ?>" /></p>

    <p><strong>Choose page link 1:</strong><br />
    <?php wp_dropdown_pages( array( 
    'name' => 'qab_link1[whatever_page]', 
    'show_option_none' => __( '— Select —' ), 
    'option_none_value' => '0', 
    'selected' => $options['whatever_page'] 
    )); ?>

    <p><input type="submit" name="Submit" value="Save and publish" /></p>

    <input type="hidden" name="action" value="update" />
    <input type="hidden" name="page_options" value="phonenum,emailaddress" />

    </form>
    </div>
    <?php
}

1 个答案:

答案 0 :(得分:2)

name参数是您使用get_option函数获取值的参数。尝试将代码更改为

<?php wp_dropdown_pages( array( 
    'name' => 'whatever_page', 
    'show_option_none' => __( '— Select —' ), 
    'option_none_value' => '0', 
    'selected' => get_option('whatever_page'),
    )); ?>

在您使用whatever_page的名称中,您可以使用get_option('whatever_page')捕获它的值。在selected参数中使用它来检索实际值并选择<option>