我有一个自定义帖子类型,我只想为该自定义帖子类型加载样式表。
我试图从模板视图中加载自定义帖子类型。因此,我尝试将其放在single-joiner.php中。另外,我尝试将其放在functions.php中。
wp_enqueue_style( 'style-joiner', get_template_directory() . '/style-joiner.css' );
从本质上讲,我有多种自定义帖子类型,并且我想为每种类型运行不同的样式表。有人可以指出我正确的方向吗?
答案 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。