2016-11-24 68 views
0

我一直在搜索网络左侧右侧和中心寻找解决方案,以获得wp_enqueue_style()函数的工作,但我无法得到它。样式不适用于wordpress插件| wp_enqueue_styles()

代码段

//Add some styles to the script 
function sreub_enqueue_styles() { 

    //Use it! 
    wp_enqueue_style ('sreubmainstyle', plugin_dir_url(__FILE__) . 'sreubmainstyle.css'); 
} 

add_action('wp_enqueue_scripts', 'sreub_enqueue_styles'); 

我也附和我使用的wp_enqueue_style功能的路径,这是正确的,但不知道为什么,当我把他们在CSS文件中的样式没有被应用?

+0

不是我不相信你:)但你确定你的CSS是好吗? –

回答

0

切换主题并尝试。或停用插件并再次激活。它应该工作。此代码适用于我。

function sreub_enqueue_styles() { 
     wp_enqueue_style('sreubmainstyle', plugin_dir_url(__FILE__). 'sreubmainstyle.css'); 
    } 
    add_action('wp_enqueue_scripts', 'sreub_enqueue_styles'); 
0

让我们做一对夫妇检查,首先要确定那些根本原因就在于:

检查路径

让我们来看看指定的排队指示的路径。您所说的CSS文件路径与具有排队回调的PHP文件位于同一个文件夹(而不是子文件夹)中。

这是这种情况?

检查以查看CSS文件与PHP文件的关系。如果它位于子文件夹或其他地方,则需要修改路径。

例如,假设CSS文件位于wp-content/your-plugin/assets/css/sreubmainstyle.css中,但排队该文件的PHP文件位于wp-content/your-plugin/load-assets.php中,因此包含完整路径的CSS文件的URL路径将需要绝对路径。

只是仔细检查。如果路径正确,那么让我们继续下一个检查。

加载插件后

主题的载荷为主题的CSS之前。 WordPress首先加载插件,然后加载主题。您的代码预先注册了优先级为10的回调函数。很可能该主题也使用默认值10.这意味着插件的CSS会将第一个加载到<head>中。

检查<head>并查看样式表是否加载到与主题的关系中。使用Firefox或Chrome开发工具检查HTML标记。

  1. 如果你发现它不加载到DOM(在HTML标记的意思,然后我们又回到了一个排队的问题。如果是,则进入下一个检查。

  2. 否则,我怀疑它的存在,但主题的“style.css`文件之前。如果是的话,请继续阅读本节。

你希望你的风格来的主题之后,以确保你覆盖的主题,并采取更高优先,在这种情况下,你想要将优先级更改为大于默认值10的值。要做到这一点:

add_action('wp_enqueue_scripts', 'sreub_enqueue_styles', 50);

50套更高的优先级,这意味着它以后触发。

哎呦,CSS是不是在DOM

寻找使用Firefox或Chrome的HTML标记,你发现它甚至没有负载。它不在那里。好的,你知道路径是正确的。接下来你是否加载了正在排队的文件?你是否在WordPress将该事件排入队列之前加载它?

请检查您何时加载文件。