php - Wordpress – 按元值按字母顺序对帖子进行排序
问题描述
我有一个自定义帖子类型的产品,每个产品都属于一个产品类别。我正在尝试查询产品以使所有产品按其产品类别的字母顺序排序,即
第一:
产品:狮子
类别:动物
上一篇:
产品: 雪地摩托
类别: 冬季
我正在为产品类别使用自定义字段,但我的查询没有按字母顺序对它们进行排序,而是按它们的发布日期排序。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 类别——最新的帖子在前,但不按字母顺序排序
解决方案
您可以尝试将代码放在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
推荐阅读
- vuejs2 - Vuex 在从后端分页的数据上下文中的用途是什么
- php - 如何在php中结合分页和过滤?
- apache-spark - Spark窄化改造能否产生re-shuffle?
- docker - 在 Gitlab Container Registry 中看不到容器镜像
- php - 如何让 Ratchet WebSocket 保持活动状态?
- git - 无法使用 git 将文件添加到 stage 与 `git add .`:zsh 进入文本编辑器模式
- javascript - Paypal SDK 没有收钱
- flutter - Bloc 到 Bloc 通信 Mutibloc 提供程序
- python - Sympy 错误 - 几何错误
- ruby-on-rails - Heroku 总是安装 yarn v.1.16.0