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

WP_查询按术语排序类别

金理
2023-03-14

我想让下面的代码对我的自定义posttype(产品类型)进行排序。因此,我的活动页面将只显示“油”一词的帖子,而不是“燃料”和“轮胎”。

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

$my_query = new WP_Query( $args );

if ($my_query->have_posts()) {
  while($my_query->have_posts() ) {                           
    echo '<div class="custom-post">';
    $my_query->the_post();
    echo '<p>' . the_content() . '</p>';
    the_post_thumbnail();
    echo '</div>';
  }
  wp_reset_postdata();
}

//编辑,作为对以下3个答案的回复

我假设foreach循环是WP_查询方法的替代,但是tax_查询对我来说是新的,现在我知道它存在,我在codex中查找了它,但是它仍然不起作用。我诚实地认为,这就像我在tax_查询中错误地命名一样简单,因此我将在这里显示我的分类代码:

function my_custom_taxonomies() {
    register_taxonomy(
        'product-type',
        'products',
        array(
            'label' => 'Type of Product',
            'rewrite' => array( 'slug' => 'race-products' ),
            'hierarchical' => true,
        )
    );
}

add_action( 'init', 'my_custom_taxonomies' );

以及对$args的更改:

$args = array(
    'post_type' => 'Products',
    'posts_per_page' => -1,
    'tax_query' => array( 
        array(
            'taxonomy' => 'product-type',
            'field' => 'slug',
            'terms' => 'oil'
        ),
    ),
);

共有3个答案

暴绪
2023-03-14

您需要在查询中尝试以下参数。

$args = array(
 'post_status' = 'publish',
 'tax_query' = array(
     'taxonomy' => 'categories',
     'field'    => 'id',
     'term'     =>  'category id here'
 )
);
$the_query = wp_query($args);
白永昌
2023-03-14
$loop = new WP_Query(array(
    'posts_per_page' => 10,
    'post_type' => 'product_type',
    'order' => 'DESC',
    'orderby' => 'id',
    'post_status' => 'publish',
    'tax_query' => array(
        array(
            'taxonomy' => 'your_texonomy',
            'field' => 'slug',
            'terms' => 'Oil',
        ),
    ),));
子车芷阳
2023-03-14

尝试以下代码:

<?php
    $myposts = get_posts(array(
        'showposts' => -1,
        'post_type' => 'Products',
        'tax_query' => array(
            array(
            'taxonomy' => 'products_cat',
            'field' => 'slug',
            'terms' => 'oil'
               );
        )
     )
    );

    foreach ($myposts as $mypost) {
          echo $mypost->post_title . '<br/>';
          echo $mypost->post_content . '<br/>';
          echo  get_the_post_thumbnail( $mypost->ID );
    }
?>
 类似资料:
  • 我尝试获取所有按标题升序排列的帖子(具有特定自定义类型),但SQL查询生成的是post_date之后的订单。代码: 查询: 选择wp_posts。*从wp_posts其中1=1和wp_posts.post_type='成员'和(wp_posts.post_status='发布'或wp_posts.post_status='关闭'或wp_posts.post_status='私人'或wp_posts

  • 我正在开发一个基于WordPress自定义帖子类型(winkels)的自定义商店定位器。每个商店都可以在分类法“winkelketen”(连锁店)中指定一个分类术语。总共有3847个商店,使用WP_Query查询所有商店都很好。当我按照特定的分类术语创建WP_查询时,并不是该分类术语中的所有帖子都显示出来。 例如:分类术语“deen”统计WordPress中的148个存储(帖子)。在我的WP_查询

  • 我正在开发一个插件,它将放在我的woocommerce产品侧栏中。我需要的是,给定产品id/对象,它将找到2个具有我以前创建的相同自定义分类法的产品。 通过这段代码,我得到了产品中使用的术语列表,其中“colline”是自定义分类法: 问题是我不知道如何获取自定义分类id,以及如何根据自定义分类对其进行过滤。 我已经使用WP_Query查找同一类别的产品,代码如下: 如何更改代码以获得所需的分类i

  • 本文向大家介绍Prolog术语排序,包括了Prolog术语排序的使用技巧和注意事项,需要的朋友参考一下 示例 可以通过标准顺序比较两个术语: 变量@ <数字@ <原子@ <字符串@ <结构@ <列表 笔记: 结构首先按函子进行比较,然后按Arity进行比较,最后按每个参数的比较进行比较。 列表首先按长度比较,然后按每个元素比较。 订单运算符 成功,如果 X @ <Y X按标准顺序小于Y X @>

  • 问题内容: 我正在尝试做一个标准查询,该查询返回像常见问题一样的stackoverflow中回答最多的问题。 一个问题包含多个答案。 我试图以标准查询返回按每个问题的答案数排序的最常回答的问题。 有人知道我应该在hibernate标准util中使用什么吗? 问题答案: 这将返回一个Object []列表。每个Object []都将问题的ID作为第一个元素,并将此问题的答案数目作为第二个元素。问题按

  • 问题内容: 我有这样的自定义订购需求: 我曾经想过用3个不同的选择查询的帮助下结合和。但是,我不能这样做,因为必须 在 和 之前 使用。 如何进行选择(或多个选择)以实现上面的自定义排序? 另一个解决方法可能会有所帮助,就是使此选择查询中返回的 第一条记录 成为最后一条记录,但是如何? 问题答案: 试试这个: 1亿个常量必须大于N。 这是一个简单的演示