首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >is_singular不给我的函数打电话?

is_singular不给我的函数打电话?
EN

WordPress Development用户
提问于 2013-01-05 20:04:28
回答 1查看 3.8K关注 0票数 0

嗨,我使用这段代码为单个post类型调用不同的样式表,但问题是它不会调用样式表。

它在header.php里,我也试着把它放在single.php里

代码语言:javascript
复制
<?php
if ( ! is_home() ) {

if ( is_single() == 'pretty-little-liars' )  {
    echo '<link rel="stylesheet" href="http://www.tv-cafe.com/wp-content/themes/tvcafe/posttypecss/style-pll.css" type="text/css" media="screen" />';
}
}
?>

有人能告诉我问题出在哪里吗?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2013-01-05 20:07:14

is_single()返回TRUEFALSE,而不是字符串。此外,还可以通过将post段塞放入函数调用中来测试具有is_single()函数的特定post:

代码语言:javascript
复制
if ( is_single( 'your-post-slug' ) )
{
    # do something
}

如果要测试正确的post类型,请使用:

代码语言:javascript
复制
if ( is_singular() and 'your-post-type' === get_post_type() )

或者只是:

代码语言:javascript
复制
if ( is_singular( 'your-post-type' ) )

编辑

对于您的具体问题,您应该将该脚本包装成一个回调,并连接到wp_enqueue_scripts中。在functions.php中:

代码语言:javascript
复制
function wpse78368_enqueue_custom_stylesheet() {
    if ( is_singular( 'pretty-little-liars' ) ) {
        wp_enqueue_style( 
            'style-pll',
            get_template_directory_uri() . '/posttypecss/style-pll.css' 
        );
    }
}
add_action( 'wp_enqueue_scripts', 'wpse78368_enqueue_custom_stylesheet' );

注意:使用wp_enqueue_scripts是因为wp_enqueue_styles并不以do_action()的形式存在。

票数 5
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/78368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档