Post's arent displaying

时间:2017-10-25 作者:Chazlie

Im有2个问题,查询未返回帖子My custom post type is supplier Showcase My custom taxonomy is supplier category分类中的类别是supplier cakes

另一个问题是,当我让它显示所有分类法帖子(所以所有在供应商类别下的类别中的帖子)时,我每页会收到300篇帖子,而不是25篇

<div class="gridcontainer">


<?php
// Grid Parameters
$counter = 1; // Start the counter
$grids = 5; // Grids per row
$titlelength = 20; // Length of the post titles shown below the thumbnails
// The Query


         $args = array(
                        \'post_type\' => \'supplier-showcase\',
                        \'posts_per_page\' => 3,
                        \'tax_query\' => array(
                        array(
                            \'taxonomy\' => \'supplier-category\',
                            \'field\' => \'slug\',
                            \'terms\' => \'supplier-cakes\'
                            )
                            )
                        );

                    $query = new WP_Query($args); 
// The Loop
if (have_posts()) :


        while ( $query->have_posts() ) : $query->the_post();
// Show all columns except the right hand side column
if($counter != $grids) :
?>
<div class="griditemleft">
    <div class="postimage">
         <?php if ( has_post_thumbnail() ) : ?>


 <a href="#<?php the_ID(); ?>" ><img src="<?php the_post_thumbnail_url(); ?>"   /></a>
    </div><!-- .postimage -->
    <h2 class="postimage-title">

title is <?php the_title(); ?>
    </h2><?php endif; ?>
    <div id="<?php the_ID(); ?>" class="lightbox-by-id lightbox-content lightbox-white mfp-hide" style="max-width:600px ;padding:20px">

<img src="<?php the_post_thumbnail_url(); ?>" width="200px" height="200px"   /> <br>
</div>
</div><!-- .griditemleft -->
<?php
// Show the right hand side column
elseif($counter == $grids) :
?>
<div class="griditemright">
    <div class="postimage">
         <?php if ( has_post_thumbnail() ) : ?>


 <a href="#<?php the_ID(); ?>" ><img src="<?php the_post_thumbnail_url(); ?>"   /></a>
    </div><!-- .postimage -->
    <h2 class="postimage-title">

title is <?php the_title(); ?>
    </h2><?php endif; ?>
    <div id="<?php the_ID(); ?>" class="lightbox-by-id lightbox-content lightbox-white mfp-hide" style="max-width:600px ;padding:20px">

<img src="<?php the_post_thumbnail_url(); ?>" width="200px" height="200px"   /> <br>
</div></div><!-- .griditemright -->

<div class="clear"></div>
<?php
$counter = 0;
endif;
$counter++;
endwhile;

    endif;
    wp_reset_postdata();

?>

</div><!-- .gridcontainer -->

<?php get_footer(); ?>
有人能看到我在这里遗漏了什么吗。

非常感谢。

1 个回复
最合适的回答,由SO网友:LWS-Mo 整理而成

我刚刚重新创建了您的设置
我创建了一个名为“供应商展示”的帖子类型<我创建了一个名为“供应商类别”的分类法,并添加了一个术语“供应商蛋糕”
添加了一些带有或不带有“供应商蛋糕”一词的帖子。

然后我复制了您的代码,将其插入到一个简单的页面模板中,修复了我前面提到的内容,并重新插入了代码(为了我的可读性)
This is working without any problems:

<div class="gridcontainer">

<?php
// Grid Parameters
$counter = 1; // Start the counter
$grids = 5; // Grids per row
$titlelength = 20; // Length of the post titles shown below the thumbnails

// The Query
$args = array(
    \'post_type\' => \'supplier-showcase\',
    \'posts_per_page\' => 3,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'supplier-category\',
            \'field\' => \'slug\',
            \'terms\' => \'supplier-cakes\'
        ),
    ),
);

$query = new WP_Query($args);

// The Loop
if ($query->have_posts()) :
    while ( $query->have_posts() ) : $query->the_post();

        // Show all columns except the right hand side column
        if($counter != $grids) : ?>

            <div class="griditemleft">

                <?php if ( has_post_thumbnail() ) : ?>
                    <div class="postimage">
                        <a href="#<?php the_ID(); ?>" ><img src="<?php the_post_thumbnail_url(); ?>"   /></a>
                    </div><!-- .postimage -->
                <?php endif; ?>

                <h2 class="postimage-title">
                    title is <?php the_title(); ?>
                </h2>

                <div id="<?php the_ID(); ?>" class="lightbox-by-id lightbox-content lightbox-white mfp-hide" style="max-width:600px ;padding:20px">
                    <img src="<?php the_post_thumbnail_url(); ?>" width="200px" height="200px"   /> <br>
                </div>

            </div><!-- .griditemleft -->

        <?php
        // Show the right hand side column
        elseif($counter == $grids) : ?>

            <div class="griditemright">

                <?php if ( has_post_thumbnail() ) : ?>
                    <div class="postimage">
                        <a href="#<?php the_ID(); ?>" ><img src="<?php the_post_thumbnail_url(); ?>"   /></a>
                    </div><!-- .postimage -->
                <?php endif; ?>

                <h2 class="postimage-title">
                    title is <?php the_title(); ?>
                </h2>

                <div id="<?php the_ID(); ?>" class="lightbox-by-id lightbox-content lightbox-white mfp-hide" style="max-width:600px ;padding:20px">
                    <img src="<?php the_post_thumbnail_url(); ?>" width="200px" height="200px"   /> <br>
                </div>

            </div><!-- .griditemright -->

            <div class="clear"></div>

            <?php $counter = 0;

        endif;

    $counter++;

    endwhile;

endif;
wp_reset_postdata(); ?>

</div><!-- .gridcontainer -->
您的代码中也有一些像这样的有问题的if语句(请参见if的开始和结束位置),这些语句没有意义:

<div class="postimage">
    <?php if ( has_post_thumbnail() ) : ?>
        <a href="#<?php the_ID(); ?>" ><img src="<?php the_post_thumbnail_url(); ?>"   /></a>
        </div><!-- .postimage -->

        <h2 class="postimage-title">
            title is <?php the_title(); ?>
        </h2>
    <?php endif; ?>
您在评论中说,如果您删除tax\\u查询以仅显示所有自定义帖子,那么这就行了。因此,查看tax\\u查询,看看您是否做对了。您还可以尝试使用术语ID,而不是slug。

结束

相关推荐

为自定义帖子类型/分类设置不同的POSTS_PER_PAGE

我有一个自定义的帖子类型,我想在我的网站上的分类页面上完全显示该帖子类型,而不是网站的常规博客部分。我制作了一个自定义分类法和帖子类型,如下所示:add_action(\'init\', \'create_post_types\'); function create_post_types() { register_taxonomy(\'tips-and-tricks-taxonomy\', \'tat\', array( \'hierarchical\'