函数文档

get_file_description()

💡 云策文档标注

概述

get_file_description() 函数用于获取标准 WordPress 主题文件的描述。它基于文件路径或文件名,从全局变量 $wp_file_descriptions 中检索描述,或返回文件的基本名称,如果是页面模板则附加“Page Template”。

关键要点

  • 参数 $file 是必需的文件系统路径或文件名。
  • 返回值为字符串:如果存在描述则返回 $wp_file_descriptions 中的描述,否则返回文件的基本名称;对于页面模板,会在基本名称后附加“Page Template”。
  • 函数内部使用全局变量 $wp_file_descriptions 和 $allowed_files,并检查文件是否存在和是否为页面模板。

代码示例

function get_file_description( $file ) {
	global $wp_file_descriptions, $allowed_files;

	$dirname   = pathinfo( $file, PATHINFO_DIRNAME );
	$file_path = $allowed_files[ $file ];

	if ( isset( $wp_file_descriptions[ basename( $file ) ] ) && '.' === $dirname ) {
		return $wp_file_descriptions[ basename( $file ) ];
	} elseif ( file_exists( $file_path ) && is_file( $file_path ) ) {
		$template_data = implode( '', file( $file_path ) );

		if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) ) {
			/* translators: %s: Template name. */
			return sprintf( __( '%s Page Template' ), _cleanup_header_comment( $name[1] ) );
		}
	}

	return trim( basename( $file ) );
}

📄 原文内容

Gets the description for standard WordPress theme files.

Parameters

$filestringrequired
Filesystem path or filename.

Return

string Description of file from $wp_file_descriptions or basename of $file if description doesn’t exist.
Appends ‘Page Template’ to basename of $file if the file is a page template.

Source

function get_file_description( $file ) {
	global $wp_file_descriptions, $allowed_files;

	$dirname   = pathinfo( $file, PATHINFO_DIRNAME );
	$file_path = $allowed_files[ $file ];

	if ( isset( $wp_file_descriptions[ basename( $file ) ] ) && '.' === $dirname ) {
		return $wp_file_descriptions[ basename( $file ) ];
	} elseif ( file_exists( $file_path ) && is_file( $file_path ) ) {
		$template_data = implode( '', file( $file_path ) );

		if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) ) {
			/* translators: %s: Template name. */
			return sprintf( __( '%s Page Template' ), _cleanup_header_comment( $name[1] ) );
		}
	}

	return trim( basename( $file ) );
}

Changelog

Version Description
1.5.0 Introduced.