我有一个自定义帖子类型的产品,每个产品都属于一个产品类别。我正在尝试查询产品,以使所有产品按其产品类别按字母顺序排序,即
第一:
产品: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类别-首先发布最新帖子,但不按字母顺序排序
答案 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