WordPress –按元值按字母顺序排序帖子

时间:2018-11-16 09:36:52

标签: php mysql wordpress

我有一个自定义帖子类型的产品,每个产品都属于一个产品类别。我正在尝试查询产品,以使所有产品按其产品类别按字母顺序排序,即

第一
产品:Lion
类别:动物

最后一个:
产品:雪地车
类别:冬季

我在产品类别中使用了自定义字段,但我的查询并未按字母顺序对它们进行排序-而是按日期发布。 product_cat_meta字段是在自定义字段中设置的常规文本字段。查询在这里:

function get_products()
{


  $args = array(
    'post_type' => 'products',
    'post_status' => 'publish',
    'meta_key' => 'product_cat_meta',
    'orderby' => 'meta_value',
    'order' => 'ASC',
    'posts_per_page' => -1
  );

  $products = new WP_Query($args);    
  if ($products->have_posts()) {
    $index = 0;
    while ($products->have_posts()) {
      $products->the_post();

      $prod_meta = get_field('product_cat_meta');
      echo $prod_meta;

      );
      $index++;
    } // end while
  } // end if
}

此查询的结果仅以在wordpress中设置的方式返回prod类别-首先发布最新帖子,但不按字母顺序排序

1 个答案:

答案 0 :(得分:0)

您可以尝试将代码放入functions.php文件中。

该代码,如果愿意,可以将其放入当前主题的functions.php中。

function get_products()
{
  $args = array(
    'post_type' => 'products',
    'post_status' => 'publish',
    'meta_key' => 'product_cat_meta',
    'orderby' => 'title',
    'order' => 'ASC',
    'posts_per_page' => -1
  );

  $products = new WP_Query($args);    
  if ($products->have_posts()) {
    $index = 0;
    while ($products->have_posts()) {
      $products->the_post();

      $prod_meta = get_field('product_cat_meta');
      echo $prod_meta;

      );
      $index++;
    } // end while
  } // end if
}

获取更多详细信息,请通过以下链接:https://codex.wordpress.org/Alphabetizing_Posts