wordpress加载CSS函数:wp_enqueue_style()


函数说明

将CSS样式文件加入队列。

函数用法

<?php wp_enqueue_style( $handle, $src, $deps, $ver, $media ) ?>

参数说明

$handle

(字符串)(必需)样式表文件名。

默认值:None

$src

(字符串)(可选)WordPress根目录下的样式表路径

示例: ‘/css/mystyle.css’。

默认值:false

$deps

(数组)(可选)样式表所依靠的句柄组成的数组;加载该样式表前需要加载的其它样式表。若没有依赖关系,返回false。

默认值:array()

$ver

(字符串)(可选)指明样式表版本号的字符串(若存在版本号)。默认为false。该参数可确保即使在启用缓存的状态下,发送给客户端的仍然是正确版本,因此如果版本号可用且对样式表有意义,包含该版本号。

默认值:false

$media

(布尔型)(可选)字符串,该字符串指定了为样式表而定义的媒体。示例:’all’, ‘screen’, ‘handheld’, ‘print’。

默认值:false

返回的值

(空)

该函数不返回任何值。

示例

使用钩子(hook)

<?php

/*
* 该实例运行于 WordPress 2.7
*/

/*
* 注册钩子 'wp_print_styles'
*/
add_action('wp_print_styles', 'add_my_stylesheet');

/*
* Enqueue style-file, if it exists.
*/

function add_my_stylesheet() {
    $myStyleUrl = WP_PLUGIN_URL . '/myPlugin/style.css';
    $myStyleFile = WP_PLUGIN_DIR . '/myPlugin/style.css';
    if ( file_exists($myStyleFile) ) {
        wp_register_style('myStyleSheets', $myStyleUrl);
        wp_enqueue_style( 'myStyleSheets');
    }
}

?>

只在插件页面加载样式表
<?php

/*
* 该实例运行于 WordPress 2.6.3+, 
* 在更旧版本也有可能运行.
*/

add_action('admin_init', 'my_plugin_admin_init');
add_action('admin_menu', 'my_plugin_admin_menu');

function my_plugin_admin_init()
{
    /* Register our stylesheet. */
    wp_register_style('myPluginStylesheet', WP_PLUGIN_URL . '/myPlugin/stylesheet.css');
}

function my_plugin_admin_menu()
{
	/*注册插件页面 */
	$page = add_submenu_page( 'edit.php', 
	__('My Plugin', 'myPlugin'), 
	__('My Plugin', 'myPlugin'), 9, __FILE__, 
	'my_plugin_manage_menu');

	/* 在注册的插件页面添加样式 */
	add_action('admin_print_styles-' . $page, 'my_plugin_admin_styles');
}

function my_plugin_admin_styles()
{
	/*
	* 只在插件页面加载该样式
	*/
	wp_enqueue_style('myPluginStylesheet');
}

function my_plugin_manage_menu()
{
	/* 输出管理页面 */
}

?>

注释

  • 参见WP_Styles::add(), WP_Styles::enqueue()
  • 使用全局变量:(未知类型)$wp_styles

历史记录

始见于2.1版本(BackPress版本:r79)

源文件

wp_enqueue_style()位于wp-includes/functions.wp-styles.php。