WP_DROPDOWN_PAGES默认值

时间:2014-05-30 作者:aBc

我有一个页面下拉菜单,但在我转到所选页面后,让我们说“关于我们”,dropbown的默认标题按钮是页面的标题,“关于我们”,因此我希望标题/默认选项是“请选择页面”或类似的内容。

我的代码是:

wp_dropdown_pages("title_li=&depth=1&sort_column=menu_order&child_of=".$post->post_parent."&echo=0&selected=$currPage");
我做错了什么,或者我的代码应该是什么样子?

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

我建议您从“URl查询参数”样式切换到数组。这是一个“特性”,它更多地是一些函数的遗留部分,这些函数仅可用于向后兼容性,而不是其他任何功能。

以下是您当前参数的修改版本:

wp_dropdown_pages( array(
    \'title_li\'    => \'\',
    \'depth\'       => TRUE,               // originally: 1,
    \'sort_column\' => \'menu_order\',
    \'child_of\'    => $post->post_parent,
    \'echo\'        => FALSE,              // originally: 0,
    \'selected\'    => $currPage,
) );
现在我想知道,当echo 已设置为0/false 而且没有echo/print 是该声明的开头。如果您只是像这样将其添加到模板中,那么最好设置echoTRUE.

从查看selected 参数(您可以在Codex中的文档中看到),这是选择当前元素的参数selected. 当您将其设置为$currPage, 我假设它包含当前的页面slug,它正好显示了这一点。要“修复”问题,只需将其设置为空字符串\'\'.

关于第一个/未选择的值:可以使用show_option_none 论点

\'show_option_none\' => \'Please select a page\',

结束

相关推荐

Creating multiple pages

我有几个页面,我正试图像这样将子页面导入每个页面: wp_insert_post ( array( \'post_title\' => $something, \'post_type\' => \'page\', \'post_author\' => 1, \'post_status\' => \'publish\', \'post_parent\' => array(17, 25,