首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

按特定自定义字段对WP查询进行排序,不起作用

在WordPress(WP)中,如果你发现按照特定自定义字段对查询进行排序不起作用,可能是由于以下几个原因:

基础概念

WordPress查询(WP_Query)允许开发者根据不同的参数来检索和显示网站内容。自定义字段(Custom Fields)是WordPress中用于存储额外信息的元数据,可以通过它们来扩展帖子的功能。

可能的原因及解决方法

  1. 字段名称错误: 确保你使用的字段名称与自定义字段中的名称完全匹配。
  2. 排序参数设置不正确: 检查你的查询参数是否正确设置了meta_keyorderby
  3. 数据类型未指定: 对于数值字段,需要指定meta_type以确保正确的排序。
  4. 缓存问题: 有时候,浏览器或服务器缓存可能导致看起来像是排序没有生效。尝试清除缓存后再次查看。
  5. 查询冲突: 确保没有其他查询或插件干扰了你的排序逻辑。

示例代码

以下是一个按照自定义字段custom_field_name进行排序的示例:

代码语言:txt
复制
$args = array(
    'post_type' => 'post', // 或者是你的自定义帖子类型
    'meta_key' => 'custom_field_name', // 自定义字段的键
    'orderby' => 'meta_value_num', // 如果是数值,使用meta_value_num
    'order' => 'ASC', // 或者 'DESC' 降序
);

$query = new WP_Query($args);

if ($query->have_posts()) :
    while ($query->have_posts()) : $query->the_post();
        // 显示帖子内容
    endwhile;
endif;

wp_reset_postdata();

应用场景

  • 产品列表:根据价格或评分排序。
  • 事件日历:根据日期排序。
  • 博客文章:根据发布日期或其他自定义字段排序。

解决问题的步骤

  1. 验证字段名称: 确认custom_field_name确实存在于你的帖子中。
  2. 检查查询参数: 使用上面的示例代码作为参考,确保所有必要的参数都已正确设置。
  3. 调试输出: 在查询前后添加调试信息,查看是否有错误信息输出。
  4. 清除缓存: 清除浏览器缓存和服务器端缓存,然后重新加载页面。
  5. 禁用插件: 尝试临时禁用所有插件,以排除插件冲突的可能性。

通过以上步骤,你应该能够解决WordPress查询中自定义字段排序不起作用的问题。如果问题仍然存在,建议进一步检查数据库中的数据是否正确,以及是否有其他代码影响了查询结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • WordPress 文章查询教程6:如何使用排序相关的参数

    在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...从最低值到最高值 (1, 2, 3; a, b, c) DESC – 降序,从最高值到最低值 (3, 2, 1; c, b, a) 然后是 orderby 参数,数据类型为:(string | array),按参数对检索到的文章进行排序...meta_value – 按照自定义字段排序,请先确保在查询中已经设置了 meta_key,额外要注意,是按字母顺序排列的,这对于字符串来说没有问题,但对于数字可以结果不是你预期的,(例如结果是 1、3...如果要将自定义字段的值转换为特定类型之后再排序,可以通过指定 meta_type 来实现,可以这些类型:NUMERIC, BINARY, CHAR, DATE, DATETIME, DECIMAL,

    1.6K30

    Display Posts : 按条件显示WordPress文章的最强插件

    Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。...对结果进行排序 ---- 2019年WordPress流行趋势预测 8个用于设计漂亮表格的WordPress插件 Code Embed:在WordPress文章和页面中添加Javascript的最佳插件...SPA ---- 排序的字段和方法多种多样, 可以参看这里。...举几个例子: orderby=”author” -按作者排序 orderby=”rand” – 随机排序 orderby=”comment_count” – 按评论数量排序 在上面的短码中我还加入了其他几个参数...还可以综合使用目录和tag两种分类发和其他的操作符来进行复杂的查询,详见这里 自定义显示形式 这也属于高级用法之一了,默认是使用Html中的无序列表ul,你可以通过参数 wrapper="ol" 来改成有序列表

    3.6K10

    WordPress自定义查询WP_Query使用方法大全

    自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能。WP_Query怎么用呢?.../** * 偏移参数 */ 'offset' => 3, //(int) - 跳过的文章数量 /** * 排序 & 排序方式参数 - 对获取的文章进行排序 */ 'order' => 'DESC',...//'meta_value' - 注意'meta_key=keyname' 必须也出现在查询中. 注意排序是按照字母表顺序进行的。...) - 自定义字段的键 'meta_value' => 'value', //(字符串) - 自定义字段的值 'meta_value_num' => 10, //(数字) - 自定义字段的值 'meta_compare...'meta_query' => array( //(数组) - 自定义字段参数 (3.1和以后的版本可用). array( 'key' => 'color', //(字符串) - 自定义字段的键

    4.3K41

    WordPress自定义查询:WP_Query的使用

    wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 <?.../** * 偏移参数 */ 'offset' => 3, //(int) - 跳过的文章数量 /** * 排序 & 排序方式参数 - 对获取的文章进行排序 */ 'order' => 'DESC',...//'meta_value' - 注意'meta_key=keyname' 必须也出现在查询中. 注意排序是按照字母表顺序进行的。...) - 自定义字段的键 'meta_value' => 'value', //(字符串) - 自定义字段的值 'meta_value_num' => 10, //(数字) - 自定义字段的值 'meta_compare...'meta_query' => array( //(数组) - 自定义字段参数 (3.1和以后的版本可用). array( 'key' => 'color', //(字符串) - 自定义字段的键

    1.4K20

    10个WordPress的query_posts语句使用技巧

    而说到复杂点的用法,你甚至可以利用query_posts来查询某一分类目录下某个作者发表的、带有某个标签的特定数量文章等。下面介绍的是一些更实用的用法。...你可以按文章类型调用自己想要的日志、页面或附件。 对附件的调用可能是最有趣但同时被使用频率也是最低的一个。...你可能需要对置顶文章过滤器函数进行以下操作: 默认情况——调用最先添加的置顶文章 只调用置顶文章(适用于杂志型主题) 按正常情况调用文章,忽略文章的置顶状态 要调用所有置顶文章: 要忽略置顶文章——让所有文章按正常排序方式显示: 查询排序,却发现meta值是字符串字段类型的(即,查询的顺序是1, 10, 11, 2, 23, 3,而你希望是按数字大小来排序:1,2,3,10,11,23)

    75690

    快收藏SQL 查询优化技巧

    订阅软件插件给自义定表创建了一对链接。让我们深入了解查询的更多信息。 把 MySQL 当作朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...这种被称为“全表浏览”—稍后将对此进行详细介绍。 rows字段也是一个好的标识,标识着MySQL将要不得不做的事情,它显示了结果中查找了多少行。 Explain也给了我们很多可以优化的信息。...例如,pm2表((wp_postmeta),告诉我们是Using filesort,因为我们使用了 ORDER BY语句对结果进行了排序。如果我们要对查询结果进行分组,这将会给执行增加开销。...您可以通过创建数据表来存储许可数据,以及所有许可用户标识和产品标识符来对数据进行非规范化(反规范化)处理,并针对特定客户进行查询。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。

    4.9K50

    提升网站访问速度的 SQL 查询优化技巧

    订阅软件插件给自义定表创建了一对链接。让我们深入了解查询的更多信息。 MySQL是你的朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...例如,pm2表((wp_postmeta),告诉我们是Using filesort,因为我们使用了 ORDER BY语句对结果进行了排序。如果我们要对查询结果进行分组,这将会给执行增加开销。...解决 你应该避免这种全部表浏览的查询,因为他使用非索引字段order_id去连接wp_woocommerce_software_licences表和wp_posts表。...您可以通过创建数据表来存储许可数据,以及所有许可用户标识和产品标识符来对数据进行非规范化(反规范化)处理,并针对特定客户进行查询。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。

    6K100

    WordPress 文章查询教程9:如何使用自定义字段(post meta)参数

    在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...第九讲关于自定义字段相关的参数,自定义字段相关的参数可以让你获取特定自定义字段的文章,相关的参数比较多,首先基本的参数: meta_key (string) – 自定义字段的 key。...简单自定义字段查询 获取自定义字段的 key 是 'color',而 value 则任意值都可的文章: $query = new WP_Query( array( 'meta_key' => 'color

    1.2K10

    必备 SQL 查询优化技巧,提升网站访问速度

    订阅软件插件给自义定表创建了一对链接。让我们深入了解查询的更多信息。 把 MySQL 当作朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...这种被称为“全表浏览”—稍后将对此进行详细介绍。 rows字段也是一个好的标识,标识着MySQL将要不得不做的事情,它显示了结果中查找了多少行。 Explain也给了我们很多可以优化的信息。...例如,pm2表((wp_postmeta),告诉我们是Using filesort,因为我们使用了 ORDER BY语句对结果进行了排序。如果我们要对查询结果进行分组,这将会给执行增加开销。...您可以通过创建数据表来存储许可数据,以及所有许可用户标识和产品标识符来对数据进行非规范化(反规范化)处理,并针对特定客户进行查询。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。

    4.8K80

    Wordpress按评论时间给文章排序

    wordpress作为最受欢迎的程序,我们对其功能要求也是更为多样。我们都知道wordpress文章发布后都是按照发布时间进行排位,最新发布的在最前面。...但是有的网友使用wp作为论坛,就需要新的排序方式。比如按最新评论排序。...原理:给每篇文章添加一个自定义字段_commentTime(这个字段的值为最新一条评论的时间)然后使用query_posts函数实现所有文章按照自定义字段_commentTime的值进行排序 具体操作:...一、给所有文章添加自定义字段_commentTime如果你的博客文章比较少当然可以手动添加,但是有的博主文章成千上万。...center为自定义字段的名称,true为值,可根据情况修改。

    73230

    WordPress 内置的数组处理相关函数大全

    wp_parse_args wp_parse_args($args, $defaults=[]) 将用户定义的参数(args)合并到默认的参数(defaults)中,用户自定义的参数可以是数组,也可以是对象...wp_list_pluck wp_list_pluck( $list, $field, $index_key = null ) 从对象(或者数组)列表中每个元素中去某个字段组成一个新数组,最后一个参数是新数组的元素...的参数对对象(或者数组)列表进行排序,最后一个参数 $preserve_keys 用于是否保持原来的 key。...比如我们可以把文章列表按照发布时间降序排序: $sorted_posts = wp_list_sort( $posts, 'post_date', 'DESC' ); 根据时间降序,然后根据标题升序排序...urlencode_deep:对元素执行 URL 编码操作。 rawurlencode_deep:对元素执行 RAWURL 编码操作。 urldecode_deep:对元素执行 URL 解码操作。

    1.4K30

    Elasticsearch学习笔记

    标准切分,去掉大部分符号,最后转为小写 空格分析器:按空格切分,不转换为小写 语言分析器:根据特定语言的特性做分析 查询方式 字段查询:精确匹配,查询前不会将被查询的字符串分析 全文查询:查询前会先用分析器分析要查询的字符串...boolean Date date 新的字段如果没有配置映射,es会自动猜测字段类型 自定义字段映射可实现的功能 区分全文字符串(需要分词)和精确字符串(不需要分词) 使用特定语言的分析器 优化部分匹配字段...先用第一个字段排序,第一个相同时排第二个 字符串参数排序: 被分析的字段进行强制排序会消耗大量内存 相关性简介 相似度算法:TF/IDF(检索词词频/反向文档频率) TF: 词频,出现在当前文档次数越多...查询后再合并查询结果 六. 聚合 1. 基本概念 桶(buckets) 满足特定条件的文档的集合。类似于sql里面的group by 指标(metrics) 对桶内的文档进行统计计算。...如果你永远不会对某些字段进行聚合,排序操作,可以禁用doc values。

    1.9K52

    MySQL查询分组后如何分隔和聚合合并数据,来看这一篇文章就够了!

    它通常与 GROUP BY 子句一起使用,以便对特定组的数据进行汇总。GROUP_CONCAT() 函数非常有用,当你需要将多行数据合并成一个单独的字符串时,比如生成逗号分隔的列表。...对结果集中的值进行排序。 SEPARATOR:可选。指定分隔符,默认为逗号(,)。...使用 ORDER BY 对结果进行排序 此查询将 employees 表中的数据按 department 列进行分组,并使用 GROUP_CONCAT(name ORDER BY name ASC) 函数将每个分组中...使用 SEPARATOR 指定分隔符 此查询将 employees 表中的数据按 department 列进行分组,并使用 GROUP_CONCAT(name SEPARATOR '; ') 函数将每个分组中...排序: 可以通过在GROUP_CONCAT()函数内部使用ORDER BY子句来指定连接时值的排序方式。 这对于确保结果按照特定的顺序(如字母顺序或数字顺序)显示很有用。

    44910

    WordPress 评论表的 comment_type 字段的默认值从空字符串改成 comment

    WordPress 之前评论表的 comment_type 字段的默认值一直是空字符,为了更加的语义化,从 5.5 版本开始,WordPress 已经将强制设置为 "comment",这项改动是为了以后更加的方便实现自定义...如果你的主题或者插件中使用了 comment_type 字段,并且是空值,可能会导致评论在网站不会显示,WordPress 强烈建议更新,我开发的 WPJAM「评论增强插件」按照要求进行了修正,也同步到了...支持自定义头像,屏蔽个人设置,优化姓名设置, 隐藏登录名,限制登陆失败次数,防止密码被暴力破解等功能。 分类管理 层式管理分类和分类拖动排序,支持设置分类的层级。...并且在后台分类管理界面可以按层级显示和拖动排序。 评论增强 支持评论点赞,评论置顶和按照点赞数排序。 图片集 1. 给媒体创建个分类「图片集 | collection」 2....支持自定义文章类型,自定义字段,自定义分类,分类选项,全局选项。 Script Loader 通过恢复 WordPress 联合加载方式来优化 WordPress 后台脚本加载。

    1.1K40

    SQL命令 ORDER BY(一)

    ASC DESC - 可选-按升序(ASC)或降序(DESC)排序。 默认为升序。 描述 ORDER BY子句根据指定列的数据值或以逗号分隔的列序列对查询结果集中的记录进行排序。...该语句对单个结果集进行操作,这些结果集要么来自SELECT语句,要么来自多个SELECT语句的UNION。 ORDER BY按逻辑(内部存储)数据值对记录进行排序,而不考虑当前的选择模式设置。...第一个示例按字符排序顺序对街道地址进行排序: SELECT Name,Home_Street FROM Sample.Person ORDER BY Home_Street 第二个示例按整数顺序对房屋编号进行排序...SELECT子句列表中第三个列表项(C)的数据值按升序排序; 在这个序列中,它按降序对第7个列出的项(J)值进行排序; 在其中,它按升序对第一个列出的项(A)值进行排序。...ORDER BY值列表中的重复列不起作用。 这是因为第二种排序在第一种排序的顺序之内。 例如,ORDER BY Name ASC、Name DESC按升序对Name列进行排序。

    2.6K30

    Copilot in Power BI for Fabric Data Factory 概述

    Fabric 中的 Copilot 可提高工作效率,解锁深刻的见解,并有助于创建针对您的数据量身定制的自定义 AI 体验。...支持的功能 使用 Dataflow Gen2,您可以: 为现有查询生成新的转换步骤。 提供查询和应用步骤的摘要。 生成一个新查询,其中可能包含示例数据或对现有查询的引用。...7.选择“客户”查询,并在“Copilot”窗格中键入以下文本:“,然后按或选择”发送消息“图标。...9.选择“员工总数”列的列标题,然后选择“降序排序”选项。“撤消”按钮将消失,因为您修改了查询。...但是,用户仍然可以使用现有的用户界面选项来删除不需要的步骤或查询。 Copilot 无法对会话中的查询进行布局更改。例如,如果您告诉 Copilot 在编辑器中为查询创建一个新组,则该操作不起作用。

    11810
    领券