函数文档

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>';
	}
}

Changelog

Version Description
4.7.0 Added the $post_type parameter.
1.5.0 Introduced.