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

文 / @UTHEME

函数描述

显示一个页面下拉表单。

使用方法



参数

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

  • 0–默认值,以层级关系显示所有父页面和子页面。
  • -1–子页面和父页面同事显示,不展现层级关系。Pagesinsub-pagesdisplayedinflat(noindent)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的NOCHANGE选项。exclude (string)逗号分隔的需要排除的id列表,如’include=4,12′是指id为4a和12的页面将不被返回或显示,默认不排除任何页面。exclude_tree (string)定义被排除的页面和子页面的父级页面ID,使用此选项排除一个父页面和父页面的子页面。也就是说’exclude_tree=5’,可以排除页面ID为5的页面,和页面5的子页面,最早在WordPress2.7中可用。 

默认使用


$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=>”没有在上面的示例中显示)

其他参数

下面一些参数可能可以使用,不过尚未经过官方确认,一些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’参数,我们可以获取任何文章类型的下拉表单,包括自定义文章类型,只要文章类型是分级的就可以。

使用示例

带提交按钮的下拉表单

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


  • <form action="" method="get">
  • 添加UTHEME为好友
    扫码添加UTHEME微信为好友
    · 分享WordPress相关技术文章,主题上新与优惠动态早知道。
    · 微信端最大WordPress社群,限时免费入群。