如果自定义帖子类型存在并且存在帖子加载脚本

时间:2012-07-21 作者:chalky

我已注册自定义帖子类型\'featured_post\'. 我正在寻找一种方法来测试博客主页是否有\'featured_post\' 在其上发布,并加载javascript文件。

“featured\\u post”帖子将在博客主页顶部制作一个滑块。我使用粘性帖子进行了这项工作,但如果有CPT“featured\\u post”的帖子,我无法确定如何有条件地加载脚本。

这是适用于粘性帖子的代码:

 if ( is_front_page() && is_sticky() ) {
            wp_enqueue_script (\'flexslider-js\');
        }
然而,这似乎不起作用,我不知道为什么:

    if ( is_front_page() && get_post_type(\'featured_post\') ) {
        wp_enqueue_script (\'flexslider-js\');
    }
提前谢谢。

2 个回复
最合适的回答,由SO网友:Andre A 整理而成

我现在正在工作(对不起,老板),所以我不能测试这个,但下面的代码片段应该是测试“featured\\u post”post类型是否存在的正确方法,如果有帖子,然后将脚本排队。

if ( is_front_page() && post_type_exists(\'featured_post\') ) { // We are at the front page, and the post type \'featured_post\' is registered.
    $hasposts = get_posts( \'post_type=featured_post\' ); // lets check if there is any posts in the \'featured_post\' post type.
    if( $hasposts ) { // If we found some posts, lets enqueue the script
        wp_enqueue_script (\'flexslider-js\');
    }
}

SO网友:Steven Word

WordPress有一个帮助器函数来完成以下操作:post_type_exists()

示例:

if ( post_type_exists( \'book\' ) ) {
   echo \'the Book post type exists\';
}

结束

相关推荐