gpt4 book ai didi

php - WordPress PHP - 如何按特定的 "meta_key"值对类别/存档结果进行排序?

转载 作者:行者123 更新时间:2023-12-04 00:36:22 24 4
gpt4 key购买 nike

我之前在这里发过帖子:How do I sort by a custom field without manually creating a new page?

但是,我相信我问错了问题(而且我可能仍在问错问题)。实际上认为我可能需要一个复杂的查询来显示按元值排序的帖子。该站点使用名为“AgentPress”的主题。我认为通过 URL 栏传递参数对于我的需要来说可能过于简单。

老实说,我喜欢当前类别页面的显示方式(格式等),我只需要“短路”该过程,以便任何类别/存档页面都按“属性价格”的 meta_key 排序为与入境日期相反。如果有一个简单的、更“WordPress-y”的机制来做到这一点,我会洗耳恭听。请明确说明代码的放置位置等。

仅供引用,此时很明显在 URL 中传递“order=ASC”和“order=DESC”有效。但是,似乎我对“meta_key”或任何相关的操作都没有任何效果。

提前致谢。

最佳答案

您可以在 pre_get_posts Hook 上添加过滤器。

将此代码放入 functions.php(在您的主题目录中):

add_filter('pre_get_posts', 'pre_get_posts_hook' );

function pre_get_posts_hook($wp_query) {
if (is_category() || is_archive())
{
$wp_query->set( 'orderby', 'meta_value_num' );
$wp_query->set( 'meta_key', 'price' );
$wp_query->set( 'order', 'ASC' );
return $wp_query;
}
}

您可以使用 meta_value 而不是 meta_value_num(适用于 v2.8),但我假设价格是一个数值。

关于php - WordPress PHP - 如何按特定的 "meta_key"值对类别/存档结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5072730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com