page_template_dropdown()
云策文档标注
概述
page_template_dropdown() 函数用于生成页面模板下拉菜单的 HTML option 元素。它接受可选参数来指定默认模板和文章类型,并输出排序后的模板列表。
关键要点
- 函数功能:输出页面模板下拉菜单的 option HTML 元素。
- 参数:$default_template(可选,默认空字符串)指定默认模板文件名;$post_type(可选,默认 'page')指定获取模板的文章类型。
- 内部实现:调用 get_page_templates() 获取模板,使用 ksort() 排序,遍历输出带 selected 属性的 option。
- 相关函数:涉及 get_page_templates()、selected()、esc_html() 等。
- 变更记录:从 WordPress 1.5.0 引入,4.7.0 版本添加了 $post_type 参数。
代码示例
function page_template_dropdown( $default_template = '', $post_type = 'page' ) {
$templates = get_page_templates( null, $post_type );
ksort( $templates );
foreach ( array_keys( $templates ) as $template ) {
$selected = selected( $default_template, $templates[ $template ], false );
echo "nt" . esc_html( $template ) . '';
}
}
原文内容
Prints out option HTML elements for the page templates drop-down.
Parameters
$default_templatestringoptional-
The template file name. Default empty.
$post_typestringoptional-
Post type to get templates for. Default
'page'.
Source
function page_template_dropdown( $default_template = '', $post_type = 'page' ) {
$templates = get_page_templates( null, $post_type );
ksort( $templates );
foreach ( array_keys( $templates ) as $template ) {
$selected = selected( $default_template, $templates[ $template ], false );
echo "nt<option value='" . esc_attr( $templates[ $template ] ) . "' $selected>" . esc_html( $template ) . '</option>';
}
}