wordpress加载CSS函数:wp_enqueue_style()


函数说明

将CSS样式文件加入队列。

函数用法

  1. <?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)

  1. <?php
  2.  
  3. /*
  4. * 该实例运行于 WordPress 2.7
  5. */
  6.  
  7. /*
  8. * 注册钩子 'wp_print_styles'
  9. */
  10. add_action('wp_print_styles', 'add_my_stylesheet');
  11.  
  12. /*
  13. * Enqueue style-file, if it exists.
  14. */
  15.  
  16. function add_my_stylesheet() {
  17. $myStyleUrl = WP_PLUGIN_URL . '/myPlugin/style.css';
  18. $myStyleFile = WP_PLUGIN_DIR . '/myPlugin/style.css';
  19. if ( file_exists($myStyleFile) ) {
  20. wp_register_style('myStyleSheets', $myStyleUrl);
  21. wp_enqueue_style( 'myStyleSheets');
  22. }
  23. }
  24.  
  25. ?>
  26.  
  27. 只在插件页面加载样式表
  28. <?php
  29.  
  30. /*
  31. * 该实例运行于 WordPress 2.6.3+,
  32. * 在更旧版本也有可能运行.
  33. */
  34.  
  35. add_action('admin_init', 'my_plugin_admin_init');
  36. add_action('admin_menu', 'my_plugin_admin_menu');
  37.  
  38. function my_plugin_admin_init()
  39. {
  40. /* Register our stylesheet. */
  41. wp_register_style('myPluginStylesheet', WP_PLUGIN_URL . '/myPlugin/stylesheet.css');
  42. }
  43.  
  44. function my_plugin_admin_menu()
  45. {
  46. /*注册插件页面 */
  47. $page = add_submenu_page( 'edit.php',
  48. __('My Plugin', 'myPlugin'),
  49. __('My Plugin', 'myPlugin'), 9, __FILE__,
  50. 'my_plugin_manage_menu');
  51.  
  52. /* 在注册的插件页面添加样式 */
  53. add_action('admin_print_styles-' . $page, 'my_plugin_admin_styles');
  54. }
  55.  
  56. function my_plugin_admin_styles()
  57. {
  58. /*
  59. * 只在插件页面加载该样式
  60. */
  61. wp_enqueue_style('myPluginStylesheet');
  62. }
  63.  
  64. function my_plugin_manage_menu()
  65. {
  66. /* 输出管理页面 */
  67. }
  68.  
  69. ?>

注释

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

历史记录

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

源文件

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