WordPress循环:仅显示自定义POST类型TaxonMy Term

时间:2018-12-02 作者:ctrlj

在我开始之前,我必须说,我已经尝试了一千种不同的方法来解决我的问题,我读过好几篇帖子,但都没有成功。

我有一个称为“分组”的CPT,一个称为“订单”的CPT分类法,在WordPress面板中,我在订单(术语)中创建了几个“类别”。

我有一个术语叫“马德里”,我想在页面模板上显示该术语的帖子。我该怎么做?这简直要了我的命。

我感谢你的帮助。

--这是我在普通的“taxonomy template.php”中使用的循环和代码,它的工作很好,但现在我需要显示相同的信息,但只在页面模板中显示与术语“Madrid”相关的帖子。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <?php              
        $full = get_the_post_thumbnail_url(get_the_ID(),\'full\'); 
        $large = get_the_post_thumbnail_url(get_the_ID(),\'large\');          
        $medium = get_the_post_thumbnail_url(get_the_ID(),\'medium\');
        $thumbnail = get_the_post_thumbnail_url(get_the_ID(),\'thumbnail\'); 
    ?>

    <div class="col col-md-flex-6 col-lg-flex-3 ">

        <picture class="cat-agrupados-img">
        <source media="(min-width: 768px)" srcset="<?php echo esc_url($thumbail); ?>">
                <img src="<?php echo esc_url($medium);?>" alt="<?php the_title(); ?>">
        </picture>  

        <h2 class="cat-agrupados-titulo-pedido">Pedido agrupado en <?php the_title(); ?></h2>

        <p class="cat-fecha-publicacion">Fecha de publicación: <strong><?php the_date(); ?></strong></p>

        <p class="cat-agrupados-zona">Zonas: <strong><?php echo get_post_meta( get_the_ID(), \'yourprefix_agrupados_poblaciones\', true ); ?></strong></p>


        <a href="<?php the_permalink(); ?>" class="cat-agrupados-link">Ver pedido agrupado</a>


    </div> <!--cierre columna-->

<?php endwhile; endif; ?>   

2 个回复
SO网友:ctrlj

我自己找到了解决方案,我把它放在这里,以防有人感兴趣:

<?php  $args = array(
\'post_type\' => \'agrupados\',
\'tax_query\' => array(
    array(
        \'taxonomy\' => \'pedidos\',
        \'field\'    => \'slug\',
        \'terms\'    => \'ferrol\',
    ),
),);  $the_query_slide = new WP_Query( $args );  if ( $the_query_slide->have_posts() ) {while ( $the_query_slide->have_posts() ) {$the_query_slide->the_post();?>





            <?php
            /* variables para cada imagen */
                $full = get_the_post_thumbnail_url(get_the_ID(),\'full\'); 
                $large = get_the_post_thumbnail_url(get_the_ID(),\'large\');          
                $medium = get_the_post_thumbnail_url(get_the_ID(),\'medium\');
                $thumbnail = get_the_post_thumbnail_url(get_the_ID(),\'thumbnail\'); 
            ?>

    <div class="col col-md-flex-6 col-lg-flex-3 ">

        <picture class="cat-agrupados-img">
        <source media="(min-width: 768px)" srcset="<?php echo esc_url($thumbail); ?>">
                <img src="<?php echo esc_url($medium);?>" alt="<?php the_title(); ?>">
        </picture>  

        <h2 class="cat-agrupados-titulo-pedido">Pedido agrupado en <?php the_title(); ?></h2>

        <p class="cat-fecha-publicacion">Fecha de publicación: <strong><?php the_date(); ?></strong></p>

        <p class="cat-agrupados-zona">Zonas: <strong><?php echo get_post_meta( get_the_ID(), \'yourprefix_agrupados_poblaciones\', true ); ?></strong></p>


        <a href="<?php the_permalink(); ?>" class="cat-agrupados-link">Ver pedido agrupado</a>


    </div> <!--cierre columna-->



<?php }} wp_reset_postdata(); ?>

SO网友:Krzysiek Dróżdż

在您的代码中,您可以基于全局$wp_query 对象如果要在其他模板上打印某些帖子,而不使用全局查询,则必须创建自定义查询对象:

<?php 
    $groupped = new WP_Query( array(
        \'post_type\' => \'grouped\',
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'orders\',
                \'field\'    => \'slug\',
                \'terms\'    => \'madrid\',
           ),
        ),
    ) ); 
    while ( $groupped->have_posts() ) :
        $groupped->the_post();

        $full = get_the_post_thumbnail_url(get_the_ID(),\'full\'); 
        $large = get_the_post_thumbnail_url(get_the_ID(),\'large\');          
        $medium = get_the_post_thumbnail_url(get_the_ID(),\'medium\');
        $thumbnail = get_the_post_thumbnail_url(get_the_ID(),\'thumbnail\'); 
?>

    <div class="col col-md-flex-6 col-lg-flex-3 ">

        <picture class="cat-agrupados-img">
        <source media="(min-width: 768px)" srcset="<?php echo esc_url($thumbail); ?>">
                <img src="<?php echo esc_url($medium);?>" alt="<?php the_title(); ?>">
        </picture>  

        <h2 class="cat-agrupados-titulo-pedido">Pedido agrupado en <?php the_title(); ?></h2>

        <p class="cat-fecha-publicacion">Fecha de publicación: <strong><?php the_date(); ?></strong></p>

        <p class="cat-agrupados-zona">Zonas: <strong><?php echo get_post_meta( get_the_ID(), \'yourprefix_agrupados_poblaciones\', true ); ?></strong></p>


        <a href="<?php the_permalink(); ?>" class="cat-agrupados-link">Ver pedido agrupado</a>


    </div> <!--cierre columna-->

<?php endwhile; wp_reset_postdata(); ?> 

相关推荐

显示所有类别而不是分配给特定帖子的类别的GET_TERMS

我的自定义帖子类型中有3篇帖子(\'careers\'). 我注册了自定义分类法(\'career_categories\').我创建了3个职位,其中两个职位属于“全职”,一个职位属于“兼职”。我在循环中使用以下代码:$terms = get_terms( \'career_categories\', array( \'hide_empty\' => true, ) ); $html_out .= \'<td class=\"column-\'. $col++ .\'\"&g