我会尽量做到尽可能简短明了。
我的目标是什么?
我的目标是按元键对我的类别页面中的帖子进行排序。我有一个名为"评级"并且该类别中的每个帖子都有一个名为"等级" - 它是一个数值。
所以,例如,我有"餐厅A"和"餐厅B"在类别"评级"。一个有元键"评级"价值56,另一个40.我想向他们展示从最高评级到最低评级(不按字母顺序,按时间顺序或任何其他方式。)
我尝试了什么?
我尝试将其直接添加到我的category.php文件中:
<?php global $query_string;
$posts = query_posts('posts_per_page=5&cat=rating&meta_key=rating&order=ASC');
?>
之前的部分,已经在 category.php 文件中:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php fotomag_post_layout(); ?>
<?php endwhile; ?>
<?php endif; ?>
并以此部分结束了代码:
<?php wp_reset_query(); ?>
我是怎么失败的?
部分有效。例如,它确实显示了5个帖子,如果我从&#34;评级&#34;中的某些帖子中删除了元键。它没有在这里显示它们的类别(这是正确的 - 因为查询是在评级类别中显示具有评级元数据的帖子)。但它没有通过升序或降序来命令它。
我做错了什么?我应该在我的函数文件中添加任何类型的过滤器或操作挂钩吗?是不是弄乱了我的主题? (顺便说一下,我没有安装其他插件)
其他文件:
我的functions.php文件(使用下面答案中提到的add_action挂钩) - https://pastebin.com/WYyRknD6
我的category.php文件 - https://pastebin.com/nWFgL1bV
我的帖子布局文件(这是在category.php文件中调用的文件 - 它可能是或不相关) - https://pastebin.com/3M6mrQVY
您可以在此处查看网页的实时版本 - https://preprod.pojej.me/category/rating/ - 帖子上显示的数字是&#34;评分&#34;中的数字值。元键字段(减去%符号)。