Php 无法在wordpress插件中使用的样式| wp_enqueue_Styles()

Php 无法在wordpress插件中使用的样式| wp_enqueue_Styles(),php,wordpress,Php,Wordpress,我一直在从左到右搜索web,寻找一种解决方案,以使wp\u enqueue\u style()函数正常工作,但我就是找不到它 代码片段 //Add some styles to the script function sreub_enqueue_styles() { //Use it! wp_enqueue_style ( 'sreubmainstyle', plugin_dir_url(__FILE__) . 'sreubmainstyle.css' ); } add_ac

我一直在从左到右搜索web,寻找一种解决方案,以使
wp\u enqueue\u style()
函数正常工作,但我就是找不到它

代码片段

//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\u enqueue\u style
函数中使用的路径,它是正确的,但不知道为什么在我将样式放入CSS文件时没有应用它们?

切换主题并尝试。或者停用插件并再次激活。它应该有效。这个代码对我有用

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

切换主题并尝试。或者停用插件并再次激活。它应该有效。这个代码对我有用

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

让我们先做几项检查以确定根本原因:

检查路径

让我们检查指定给enqueue指令的路径。您拥有的路径表明CSS文件与具有排队回调的PHP文件位于同一文件夹(而不是子文件夹)中

是这样吗

检查CSS文件相对于PHP文件的位置。如果它位于子文件夹或其他位置,则需要修改路径

例如,假设CSS文件位于
wp-content/your-plugin/assets/CSS/sreubmistyle.CSS
中,但将其放入队列的PHP文件位于
wp-content/your-plugin/load-assets.PHP
中,CSS文件的URL路径需要通过包含完整路径来进行绝对化

再检查一下。如果路径正确,那么让我们进行下一次检查

在主题的CSS之前加载

在插件之后加载主题。WordPress首先加载插件,然后加载主题。您的代码正在预注册优先级为10的回调。主题很可能也使用默认值10。这意味着插件的CSS将首先加载到

检查
并查看样式表是否加载到与主题相关的位置。使用Firefox或Chrome开发工具检查HTML标记

  • 如果您发现它没有加载到DOM中(意思是HTML标记中),那么我们又回到了排队问题。如果是,则转到下一个检查

  • 否则,我怀疑它就在主题的'style.css'文件之前。如果是,请继续阅读本节

  • 您希望样式位于主题之后,以确保样式覆盖主题并具有更高的优先级。在这种情况下,您希望将优先级更改为大于默认值10的值。要执行此操作,请执行以下操作:

    add_action('wp_-enqueue_scripts','sreub_-enqueue_styles',50);

    50将优先级设置得更高,这意味着它将在稍后启动

    哎呀,CSS不在DOM中

    使用Firefox或Chrome查看HTML标记时,您发现它甚至没有加载。它不在那里。好的,您知道路径是正确的。接下来您加载了正在排队的文件了吗?您是在WordPress触发事件排队之前加载的吗


    加载文件时进行检查。

    让我们先进行两次检查,以确定根本原因:

    检查路径

    让我们检查指定给enqueue指令的路径。您的路径表明CSS文件与包含enqueue回调的PHP文件位于同一文件夹(而不是子文件夹)中

    是这样吗

    检查CSS文件相对于PHP文件的位置。如果它位于子文件夹或其他位置,则需要修改路径

    例如,假设CSS文件位于
    wp-content/your-plugin/assets/CSS/sreubmistyle.CSS
    中,但将其放入队列的PHP文件位于
    wp-content/your-plugin/load-assets.PHP
    中,CSS文件的URL路径需要通过包含完整路径来进行绝对化

    只要再检查一遍。如果路径正确,那么让我们进行下一次检查

    在主题的CSS之前加载

    主题在插件之后加载。WordPress首先加载插件,然后加载主题。您的代码正在以10的优先级预注册回调。主题很可能也使用默认值10。这意味着插件的CSS将首先加载到

    检查
    并查看样式表是否加载到与主题相关的位置。使用Firefox或Chrome开发工具检查HTML标记

  • 如果您发现它没有加载到DOM中(意思是HTML标记中),那么我们又回到了排队问题。如果是,则转到下一个检查

  • 否则,我怀疑它就在主题的'style.css'文件之前。如果是,请继续阅读本节

  • 您希望样式位于主题之后,以确保样式覆盖主题并具有更高的优先级。在这种情况下,您希望将优先级更改为大于默认值10的值。要执行此操作,请执行以下操作:

    add_action('wp_-enqueue_scripts','sreub_-enqueue_styles',50);

    50将优先级设置得更高,这意味着它将在稍后启动

    哎呀,CSS不在DOM中

    使用Firefox或Chrome查看HTML标记时,您发现它甚至没有加载。它不在那里。好的,您知道路径是正确的。接下来您加载了正在排队的文件了吗?您是在WordPress触发事件排队之前加载的吗


    在加载文件时进行检查。

    尝试从主文件运行
    add_操作('wp_-enqueue_脚本','sreub_-enqueue_样式');
    ,或者确保
    add_操作('wp_-enqueue_脚本','sreub_-enqueue_样式');
    在激活挂钩回调上运行

    尝试运行
    add操作('wp_enqueue_scripts'、'sreub_enqueue_styles');
    从主文件或确保
    添加操作('wp_enqueue_scripts'、'sreub_enqueue_styles');
    在activa上运行