近期活动

近期网站做了一些改版,今天发现媒体库不显示,一直加载。原本以为是插件或缓存的问题,导致ajax未能成功加载,一直无限请求。排查一小时无果之后,想起最近有动态新增一个css样式表。虽然打心底里,不觉得自己写的代码有啥问题,但是没招了,索性将这块逻辑先移除了。没想到移除之后,媒体库立马就恢复了正常。

问题找到了,接下来就是分析为什么会出问题了。

贴一下我最开始的载入css的代码段。

function add_stylesheet()
{
    echo '<link rel="stylesheet" href="'.THEME_CHILD_URL.'/aaa/bbb/xxx.css">';
}



function register_custom_widget()
{
  //...
  add_stylesheet();
}
add_action('widgets_init', 'register_custom_widget');

我很直接的,将加载样式的调用写在了某个钩子的回调函数上。

 

而我的这个钩子由wordpress去管理去发起调用,因此会进行多次执行。

正确的写法,应该是这样的:

function add_stylesheet() {
    echo '<link rel="stylesheet" href="'.THEME_CHILD_URL.'/aaa/bbb/xxx.css">';
}
 
add_action( 'wp_head', 'add_stylesheet' );

只需在头标签中注册一遍,即可。

 

 

文章目录
关闭
目 录