wp_dropdown_pages 显示一个下拉选择页面的表单

发布于:
更新时间:2020-10-28

函数描述

显示一个页面下拉表单。

使用方法

<?php wp_dropdown_pages( $args ); ?>

默认使用

$args = [
    'depth'                 => 0,
    'child_of'              => 0,
    'selected'              => 0,
    'echo'                  => 1,
    'name'                  => 'page_id',
    'id'                    => null, // string
    'show_option_none'      => null, // string
    'show_option_no_change' => null, // string
    'option_none_value'     => null, // string
];

默认情况下,上面的代码显示:

  • 在下拉表单中分级显示页面和子页面
  • 显示所有页面(不限制子页面)
  • 下拉表单中没有选中任何页面
  • 下拉表单的名称为’page_id’
  • 如果设置了 (show_option_none=>” ,没有在上面的示例中显示),可以不选择任何页面
  • 不排除任何页面 (exclude=>”,没有在上面的示例中显示)
  • 不排除任何页面树 ‘tree’ (exclude_tree=>”没有在上面的示例中显示)

参数

depth  (integer) 次参数控制在列表中包含几级页面, 默认为0(显示所有页面,包含子页面)。

  • 0 – 默认值,以层级关系显示所有父页面和子页面。
  • -1 – 子页面和父页面同事显示,不展现层级关系。Pages in sub-pages displayed in flat (no indent) form.
  • 1 – 只显示顶级页面
  • 2 – 显示顶级页面和二级页面。

child_of  (integer) 只显示某个页面下面的子页面,值为页面ID,默认为0,显示所有页面。 selected  (integer) 下拉表单中选中的页面ID,默认没有页面被选中。 echo  (boolean) 控制直接显示HTML表单还是在PHP中返回HTML字符串,默认为1,直接显示HTML下拉表单,可用的值有:

  • 1 (true) – 默认
  • 0 (false)

name  (string) 分配给下拉表单的name,默认为 ‘page_id’. id  (string) 分配给下拉表单的id,默认为name的值。 show_option_none  (string) 在下拉选择表单的顶部创建一个附加的<option>选项,以便不选择任何页面时使用。 option_none_value  (string) 参数show_opthon_none的值。 show_option_no_change  (string) 因为下拉表单的HTML允许选择一个值为-1的 NO CHANGE 选项。 exclude  (string)逗号分隔的需要排除的id列表,如’include=4,12′ 是指id为 4 a和 12 的页面将不被返回或显示,默认不排除任何页面。 exclude_tree  (string) 定义被排除的页面和子页面的父级页面ID,使用此选项排除一个父页面和父页面的子页面。也就是说’exclude_tree=5’,可以排除页面ID为5的页面,和页面5的子页面,最早在WordPress2.7中可用。 

其他参数

下面一些参数可能可以使用,不过尚未经过官方确认,一些get_pages函数的参数可以用在iwp_dropdown_pages 函数上,下面是 get_pages 参数的默认设置。

$args = [
    'child_of'     => 0,
    'sort_order'   => 'ASC',
    'sort_column'  => 'post_title',
    'hierarchical' => 1,
    'exclude'      => ,
    'include'          => ,
    'meta_key'         => ,
    'meta_value'       => ,
    'authors'          => ,
    'exclude_tree'     => ,
    'post_type'        => 'page',
];

使用 ‘post_type’ 参数,我们可以获取任何文章类型的下拉表单,包括自定义文章类型,只要文章类型是分级的就可以。

使用示例

带提交按钮的下拉表单

显示一个有提交按钮的页面选择下拉表单,下拉表单中表现页面的层次关系。

<li id="pages">
 <h2><?php _e('pages:'); ?></h2>
   <form action="<?php bloginfo('url'); ?>" method="get">
   <?php wp_dropdown_pages(); ?>
   <input type="submit" name="submit" value="view" />
   </form>
</li>

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*