我有一个自定义的post类型,我只想为那个自定义的post类型加载一个样式表。
我尝试从自定义帖子类型的模板视图中加载它。所以我试着把它放在single-joiner.php中。另外,我试着把它放到functions.php中。
wp_enqueue_style( 'style-joiner', get_template_directory() . '/style-joiner.css' );
本质上,我有各种自定义的post类型,并且我想为每个类型运行不同的样式表。谁能给我指个方向?
发布于 2019-05-23 06:02:30
如果您正在使用默认的操作钩子将文件入队,那么您应该能够访问全局$post
及其所有属性。
在您的入队函数中,您应该能够通过使用is_singular()
函数或引用全局$post->post_type
值来检查当前的post类型。
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' );
}
}
你可以更进一步,检查当前的post类型,检查style-{post_type}.css
文件是否存在,如果存在,然后排队-但是如果你只有one post类型,上面的函数应该足以让你开始。
edit:很抱歉,我之前没有注意到,但是您正在使用get_template_directory()
函数。这是返回一个绝对系统路径,而不是URI。您将希望使用get_template_directory_uri()
或get_stylesheet_directory_uri()
函数来返回URI。
https://stackoverflow.com/questions/56265373
复制相似问题