我想做的是在头版提供三页来突出显示。为此,我想为用户提供一个所有页面的下拉列表。
我还没有想出如何做到这一点。
我知道如何获取页面get_theme_mod( \'mytheme_user_page_1\', \'\' )
大概是对的。
如何设置控件?
$wp_customize->add_setting( \'mytheme_user_page_1\', array(
\'default\' => \'\'
) );
$wp_customize->add_control( array(
\'type\' => \'range\',
\'section\' => \'my_custom_section\',
\'label\' => __( \'Pick a page, bub\' ),
// something magical here
) );
更新我可能没有说得很清楚(我的错),我还需要知道如何填充下拉控件。(或者不是,见下文——我之前可能错过了一两个技巧)。
多亏了评论中的一个链接,然后又有一个链接告诉我睁开眼睛(可能比我应得的礼貌得多),我确实看到了被指的内容。手册仅说明了以下内容:
- dropdown-pages (使用allow\\u addition参数允许用户从控件添加新页面)
这是整个页面上提到的两个术语。也许我很累(这很可能),但我很难理解这是怎么回事,为什么会这样。
我之所以找到它,是因为我在页面上做了一个文本搜索“drop”,得到了1/1的结果。给出注释是否意味着这会填充页面列表?如果是这样,那么allow_addition
论点(我该如何使用它?)
我开始怀疑我可以把一堆东西扔进我的控制之中,并希望一切都好起来。类似这样:
\'type\'=>\'dropdown-pages\',
\'argument\'=>\'allow_addition\', //maybe
\'allow_addition\'=>TRUE, //possibly
或
\'type\'=>array(\'dropdown-pages\',\'allow_addition\'), // ?? I\'m just guessing
我想知道我为什么这么做,以及这里发生了什么,因为我觉得有义务支持我发布的任何主题。回答一个问题,“TBH,我不知道我在做什么”在任何可能的未来都不是我想要的。
如果我今天有点慢,我道歉。
如果有人能抽出几分钟来帮助我理解,我将不胜感激。如果你能解释一下allow_addition
当你还在争论的时候,我将永远欠你的债。
最合适的回答,由SO网友:Jacob Peattie 整理而成
要添加用于从下拉列表中选择页面的Customiser控件,只需设置type
参数到dropdown-pages
:
$wp_customize->add_control( array(
\'type\' => \'dropdown-pages\',
\'section\' => \'my_custom_section\',
\'label\' => __( \'Pick a page, bub\' ),
) );
这会给你一个控制
<select>
包含自动填充的页面列表的下拉列表。保存后,它将保存页面的帖子ID,或
0
如果选择“无”。
这个\'allow_addition\'
参数是可以传递给的附加参数$wp_customize->add_control()
使用时dropdown-pages
这将允许用户从Customiser创建页面,就像Customiser主页设置部分中的设置一样。您可以这样使用此参数:
$wp_customize->add_control( array(
\'type\' => \'dropdown-pages\',
\'allow_addition\' => true,
\'section\' => \'my_custom_section\',
\'label\' => __( \'Pick a page, bub\' ),
) );