当前位置: 首页 > 知识库问答 >
问题:

如何在wp post循环中打印术语名称?

顾跃
2023-03-14

我在一个自定义的帖子类型中有3种不同的分类法。我想打印所有的职位与任期名称与他们。

分类学1=

分类学2=

分类学3=

因此,我想用术语名称打印所有自定义文章我可以通过输入单个分类法打印数据,但如何使用所有分类法术语打印数据

查询

<?php
    $custom_terms = get_terms('banks');

    foreach($custom_terms as $custom_term) {
       wp_reset_query();
       $args = array('post_type' => 'creditcards',
           'tax_query' => array(
           array(
                 'taxonomy' => 'banks',
                 'field' => 'slug',
                 'terms' => $custom_term->slug,
                ),
           ),
       );

       $loop = new WP_Query($args);
       if($loop->have_posts()) {

           while($loop->have_posts()) : $loop->the_post();
?>
               <div>
                  <?php echo $custom_term->name;?><br><?php echo the_title();?> 
               </div>
<?php 
           endwhile;
       }
    }
?>

结束结果,我想在后循环


    taxonomy1 term,taxonomy2 term,taxonomy3 term
    the title

    taxonomy1 term,taxonomy2 term,taxonomy3 term
    the title

    taxonomy1 term,taxonomy2 term,taxonomy3 term
    the title

共有1个答案

郜谦
2023-03-14

您可以使用get\u terms中的数组获取多个分类术语。将代码替换为以下内容:

$args = array('post_type' => 'creditcards',
    'posts_per_page' => -1
);

$loop = new WP_Query($args);

if ($loop->have_posts()) {

    while ($loop->have_posts()) : $loop->the_post();
        $custom_terms = wp_get_post_terms(get_the_ID(), array(
            'banks',
            'joiningfees',
            'cardtype'), array("fields" => "all"));

        $custom_term = wp_list_pluck($test, 'name'); //To get term name from term taxonomy array

        echo join(', ', $custom_term); //This will print all term name and remove ',' from last term name
        ?>
        <div>
            <strong>
                <?php echo the_title(); ?>
            </strong>
        </div>
        <?php
    endwhile;
}
 类似资料:
  • 如何在有向加权图中找到负循环。我知道Bellman-Ford算法是如何工作的,它告诉我是否存在可达到的负循环。但它没有明确地命名它。 如何获得循环的实际路径v1,v2,…vk,v1? 在应用标准算法后,我们已经进行了n−1次迭代,不可能有进一步的改进。如果我们仍然可以降低到节点的距离,则存在负循环。 假设edge(v, u)是bellman ford算法在第n次迭代中失败的边缘-d(u)

  • 我希望我的 print 语句在循环之外,这样语句就不会一遍又一遍地打印相同的内容。下面的 for 循环只是将一个数组中的数字与另一个数组进行对比,以找出找到多少个匹配项。定义上面的变量并打印下面的语句会导致“变量未初始化错误”,这是可以理解的。

  • iv得到了一个检查两个数组中的值的循环。如果找到匹配的值,这些值将被打印到控制台。 我还包含了一个 print 语句,该语句旨在仅在未在任何地方找到匹配项时才打印。 此时,如果传入的数组包含一些匹配的数字和一些不匹配的数字,我仍然会得到没有找到匹配的消息。相反,我希望只有在任何地方都不存在匹配时,才打印“找不到匹配”消息。 我认为这应该是一个简单的更正,但我看不出我哪里出错了。 建议不胜感激。

  • 我有一些嵌套代码,我想检查它的条件并打印一次语句。但是我不知道如何改革for循环,也不知道哪个是这个situstin使用的理想循环。?我已经写了这个,我得到你好打印4次…我想它打印一次…请帮忙。

  • 我正试图找到一种方法来使我的程序打印Println语句一次,因此,如果找到一个朋友,它会说:找到以下朋友:-f1 -f2 -f3或“找不到朋友”语句只打印一次。 现在它每次迭代循环时都会打印Println。。。 请帮忙好吗?

  • 目前控制台打印循环中的所有值,但只需要打印最后一个