如何在Wordpress中为自定义帖子类型加载自定义样式表?

时间:2019-05-22 21:39:22

标签: wordpress

我有一个自定义帖子类型,我只想为该自定义帖子类型加载样式表。

我试图从模板视图中加载自定义帖子类型。因此,我尝试将其放在single-joiner.php中。另外,我尝试将其放在functions.php中。

wp_enqueue_style( 'style-joiner', get_template_directory() . '/style-joiner.css' );

从本质上讲,我有多种自定义帖子类型,并且我想为每种类型运行不同的样式表。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

假设您使用默认的动作钩子将文件wp_enqueue_scripts()放入队列,则应该有权访问全局$post及其所有属性。

在入队功能中,您应该能够通过使用is_singular()函数或引用全局$post->post_type值来检查当前帖子类型。

add_action( 'wp_enqueue_scripts', 'enqueue_frontend_assets', 10 );
function enqueue_frontend_assets(){
    if( is_singular( 'joiner' ) ){
        wp_enqueue_style( 'style-joiner', get_stylesheet_directory_uri() . '/style-joiner.css' );
    }
}

您可以更进一步,检查当前的帖子类型,检查是否存在style-{post_type}.css文件,然后排队是否存在-但是,如果您只有一个帖子类型,则可以使用上述功能应该足以让您入门。

编辑:很抱歉,我之前没有注意到,但是您正在使用get_template_directory()函数。返回的是绝对系统路径,而不是URI。您将需要使用get_template_directory_uri()get_stylesheet_directory_uri()函数来返回URI。