_wp_filter_font_directory()
云策文档标注
概述
_wp_filter_font_directory() 是一个用于 'upload_dir' 过滤器的回调函数,主要用于内部处理字体目录路径,不建议插件和主题直接使用。
关键要点
- 此函数为内部使用,插件和主题应使用 wp_get_font_dir() 替代。
- 函数接收一个字体目录数组参数,返回修改后的目录数组,包含路径、URL等字段。
- 通过 apply_filters('font_dir', $font_dir) 钩子允许开发者过滤字体目录数据。
- 使用 doing_filter('font_dir') 避免无限循环。
代码示例
function _wp_filter_font_directory( $font_dir ) {
if ( doing_filter( 'font_dir' ) ) {
// Avoid an infinite loop.
return $font_dir;
}
$font_dir = array(
'path' => untrailingslashit( $font_dir['basedir'] ) . '/fonts',
'url' => untrailingslashit( $font_dir['baseurl'] ) . '/fonts',
'subdir' => '',
'basedir' => untrailingslashit( $font_dir['basedir'] ) . '/fonts',
'baseurl' => untrailingslashit( $font_dir['baseurl'] ) . '/fonts',
'error' => false,
);
/**
* Filters the fonts directory data.
*
* This filter allows developers to modify the fonts directory data.
*
* @since 6.5.0
*
* @param array $font_dir {
* Array of information about the font upload directory.
*
* @type string $path Base directory and subdirectory or full path to the fonts upload directory.
* @type string $url Base URL and subdirectory or absolute URL to the fonts upload directory.
* @type string $subdir Subdirectory
* @type string $basedir Path without subdir.
* @type string $baseurl URL path without subdir.
* @type string|false $error False or error message.
* }
*/
return apply_filters( 'font_dir', $font_dir );
}注意事项
- 此函数从 WordPress 6.5.0 版本引入。
- 相关函数包括 untrailingslashit()、doing_filter() 和 apply_filters()。
原文内容
A callback function for use in the ‘upload_dir’ filter.
Description
This function is intended for internal use only and should not be used by plugins and themes.
Use wp_get_font_dir() instead.
Parameters
$font_dirstringrequired-
The font directory.
Source
function _wp_filter_font_directory( $font_dir ) {
if ( doing_filter( 'font_dir' ) ) {
// Avoid an infinite loop.
return $font_dir;
}
$font_dir = array(
'path' => untrailingslashit( $font_dir['basedir'] ) . '/fonts',
'url' => untrailingslashit( $font_dir['baseurl'] ) . '/fonts',
'subdir' => '',
'basedir' => untrailingslashit( $font_dir['basedir'] ) . '/fonts',
'baseurl' => untrailingslashit( $font_dir['baseurl'] ) . '/fonts',
'error' => false,
);
/**
* Filters the fonts directory data.
*
* This filter allows developers to modify the fonts directory data.
*
* @since 6.5.0
*
* @param array $font_dir {
* Array of information about the font upload directory.
*
* @type string $path Base directory and subdirectory or full path to the fonts upload directory.
* @type string $url Base URL and subdirectory or absolute URL to the fonts upload directory.
* @type string $subdir Subdirectory
* @type string $basedir Path without subdir.
* @type string $baseurl URL path without subdir.
* @type string|false $error False or error message.
* }
*/
return apply_filters( 'font_dir', $font_dir );
}
Hooks
- apply_filters( ‘font_dir’, array $font_dir )
-
Filters the fonts directory data.
Changelog
| Version | Description |
|---|---|
| 6.5.0 | Introduced. |