【问题标题】:WordPress wp_enqueue_style not workingWordPress wp_enqueue_style 不工作
【发布时间】:2014-12-15 11:07:41
【问题描述】:

我试图在我的 WordPress 插件管理页面中包含一个 css 文件。我试过下面的方法

function theme_name_scripts() {
   wp_enqueue_style( 'jspro', '/includes/parts/css/jspro.min.css');
}

但不幸的是,它不起作用。我的css文件路径是正确的here,我几乎尝试了所有方法。有什么想法吗?

【问题讨论】:

  • wp_enqueue_style 采用绝对路径。你的 css 的绝对路径是什么?
  • plugins_url().'includes/parts/css/jspro.css 这是我的css存在的地方
  • 当您说plugins_url() 时,我猜您指的是您自己的插件文件夹,而不是根目录yoursite.com/wp-content/plugins
  • 是的,我是。但我也尝试过直接给出完整路径。那也行不通

标签: css wordpress styles


【解决方案1】:

您需要有一个指向您的 css 文件的绝对 URL,并挂钩到正确的管理挂钩(在本例中为 'admin_init'):

add_action( 'admin_init', 'theme_name_scripts' );

function theme_name_scripts() {
    wp_enqueue_style( 'jspro', plugins_url('includes/parts/css/jspro.min.css', __FILE__));
}

【讨论】:

  • 如果我把这个添加到我的主插件文件中,它会调用这个 css 到这个插件的所有管理页面吗?这就是我需要的,但目前它不起作用
  • 我稍微编辑了我的答案...但这取决于您从哪里调用它。如果您的 .php 文件位于子目录中,您可能需要使用 PHP 的 dirname() 函数。阅读有关plugins_url() in the Codex 的更多信息。
【解决方案2】:

在管理员模式下,WP 推荐使用一个特殊的钩子“admin_enqueue_scripts”。

add_action('admin_enqueue_scripts', 'theme_name_scripts');

function theme_name_scripts() {
   wp_enqueue_style('jspro', '/includes/parts/css/jspro.min.css');
}

另外,挂钩can also be used 以检查当前管理页面的名称:

function theme_name_scripts( $hook ) {
    if ( $hook != 'edit.php' )
        return;
    wp_enqueue_style('jspro', '/includes/parts/css/jspro.min.css');
}

【讨论】:

  • 欢迎来到 Stack Overflow!您能否准确解释一下这是做什么的,以便为未来的读者提供更好的答案?
  • 嘿,你好吗!在管理员模式下,WP 使用 'admin_enqueue_scripts' 挂钩而不是 'wp_enqueue_scripts'。
猜你喜欢
  • 1970-01-01
  • 2021-01-08
  • 2018-12-17
  • 1970-01-01
  • 2016-06-14
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 2019-02-10
相关资源
最近更新 更多