如何检查Page是否是Wordpress中自定义帖子类型的单页

时间:2015-03-01 19:56:19

标签: ajax wordpress post types

在主页上,我使用此代码调用了带有Ajax的Custpm Post Type的内容

jQuery(document).ready(function($){
   $.ajaxSetup({cache:false});
    $(".sector_item a").click(function(){
        var post_link = $(this).attr("href");
        $(".sector_item_content").html("<div class='load' style='position:relative;margin-top:50px;padding-bottom:50px;'><img src='<?php bloginfo("template_url"); ?>/images/ajax-loader.gif'></div>");
        $(".sector_item_content").load(post_link);
        return false;
    }); 
}); 

但是在同一个帖子类型的单个页面中,我需要另外一个包含内容的设计,以便我可以检测单个页面。我尝试使用Wordpess is_single()函数,但它无法在ajax中显示它。如何修复此问题? 这是我的单个template.php

<?php if(is_singular('sector' )){
echo 'Single page' ;  
}else{
while (have_posts() ) : the_post(); ?>
        <div class="container single_page_inner">
            <div class="row clearfix">
                <div class="col-md-10 column" style="float:none;margin:auto;">
                     <div class="sector_single_title">
                        <?php the_title();?>
                     </div>
                     <div class="single_sector_contentmain"> <?php the_content();?></div>
                     <div class="single_sector_more">
                        <img src="<?php bloginfo(template_url);?>/images/single_secormoreline.png"/>
                        <div class="single_sector_button">
                            <span class="single_sec_leftline"></span>
                            <span class="single_sec_rightline"></span>
                            <a href="<?php the_permalink();?>">Click Here To Read More</a>
                            <div class="more_line"></div>
                        </div>
                     </div> 
                </div>
            </div>
        </div>
         <?php endwhile; ?>

2 个答案:

答案 0 :(得分:2)

如果您希望能够在从Ajax加载single.php文件时执行不同的操作,则需要以某种方式告诉它何时收到Ajax请求。

一种方法是为您的通话添加一个参数,如下所示:

var post_link = $(this).attr("href") + '?isajax=1';

然后在您的single.php文件中,测试此参数:

<?php if(!empty($_GET['isajax'])){
    // This is Ajax - display in Ajax format
} else {
    // This is not Ajax - display in standard single.php format
}

答案 1 :(得分:0)

使用它:

is_singular('YOUR_POST_TYPE' );

CODEX