- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我之前在这里发过帖子: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/
基本上我想卸载 Yoast SEO,因为它使我的网站加载时间增加了 7 秒,但我想保留焦点关键字用于 SEO 目的。 但首先我想将焦点关键字复制到我自己的“焦点”帖子元中。 结构是这样的红色部分,我希
是否可以添加两个 meta_key's在 pre_get_posts ? 我当前的查询 $query->set('s', '' ); $query->set( 'meta_key', 'cat_adr
如果 meta_key 存在但不是 '',我有一个返回宠物帖子的查询: -- Pets that are assigned tags SELECT p.ID FROM FxFfekP0_posts p
这个问题在这里已经有了答案: How to delete from select in MySQL? (4 个答案) 关闭 8 年前。 我有一个 wordpress 网站,它为我的帖子分配了一些 m
对 MySQL 完全陌生,正在尝试提取一些数据 - 我原以为这是一项相对简单的任务,但我没有意识到数据提取的“格式”不会有我期望的列标题。我做了一些研究,认为我非常接近答案,在此处提供: SQL -
所以我有以下内容 SELECT wp_posts.ID, wp_posts.post_author,wp_posts.post_date,wp_posts.post_content,wp_posts.
我开发了一个从 Wordpress 选择事件的查询。我使用 where 子句来选择 meta_key eventstartdate 的 meta_value 在今天之后的位置。 我现在遇到的问题是,我
我正在尝试将日期和假期存储在 wordpress 数据库的 post_meta 中。我制作了一个自定义帖子类型来存储此数据。所以在表 wp_post 中,我存储了 _event_date = date
我在对 meta_values 进行分组时遇到问题。查询查找具有元键“公司”的帖子。我想要一个独特的颜色列表,例如:蓝色 红色 黄色 array_unique 不成功,自定义 mysql 查询也是如此
我正在使用 WP_Query 来提取一些这样的自定义帖子: $params = array( 'post_type' => 'portfolio',
我正在尝试让 wp_query 通过 meta_value 和 ID 获取最后 x 个帖子的顺序。 prop_featured 值可以是 1 或 0 。我想获取具有 prop_featured=1 的
我的 MySQL 太差了,我需要将表中的值 first_name 和 last_name 更新为空白。我试图做这样的事情: DELETE FROM nomtable WHERE meta_key =
我有一个 wordpress 网站,它在数据库中有以日期形式存储的 meta_keys: update_user_meta( $current_user, date('l jS F Y'), $ser
这是一个房地产 WordPress 博客。我正在开发一个链式三选框。 我已经弄清楚了大部分内容,我不知道如何查询帖子以仅返回基于类别和价格范围的卧室数量的元数据。 我可以根据类别进行选择: S
在 Wordpress/Woocommerce 数据库中有一个 wp_postmeta 表。 我尝试更新 meta_value = '0',其中 meta_key = '_price' 只有另一个 m
使用 WP dataTables 插件和我的 MySQL 很烂,所以请多多包涵。 我正在尝试获取分配给 WordPress 中自定义帖子类型的多个相关联的 meta_keys(自定义字段名称),并将这
我相信这对你们所有人来说都很容易,但这对我来说是全新的。 基本上,我想检查登录用户是否在其个人资料中附加了特定的元数据,网站上是否会显示某些内容。 用户的元数据存储在 wp_usermeta 表中,该
我有以下 SQL 语句来计算基于 3 个 Wordpress 表的几个字段。我需要的是仅包含 meta_key='odd' 和 meta_value >= '1.5' 的结果。我在 WHERE 语句中
我正在尝试为 WordPress 中的用户更新多个 meta_key update_user_meta( $user_id, array( 'nickname' => $userFirstName,
我之前在这里发过帖子:How do I sort by a custom field without manually creating a new page? 但是,我相信我问错了问题(而且我可能仍
我是一名优秀的程序员,十分优秀!