在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...也可以使用 meta_value_* 来指定,例如转换为 DATETIME 类型时,也可以使用 meta_value_datetime 来作为 orderby 参数。...post__in – 按照 post__in 参数中给出的文章 ID 顺序进行排序,注意使用 post__in,order 参数的值无效。
> 当然,使用哪种方法完全由个人习惯决定,不过我认为用数组更为方便,原因如下: 便于阅读,可以利用if语句更轻松地给数组添加条件,以动态生成查询一些查询参数(某些使用频率较低的参数,如分类参数和标签参数...WordPress 2.9引入了以评论的数量多寡给文章排序的功能,这样就可以更方便地向访客显示最受欢迎的文章….不过这里为了使用query_posts,我们假设一下不使用WordPress的这个功能。...WordPress有一些可以用来修改查询要素的过滤器(filter)函数。...但有时如果你想用数字型meta值来为一次查询排序,却发现meta值是字符串字段类型的(即,查询的顺序是1, 10, 11, 2, 23, 3,而你希望是按数字大小来排序:1,2,3,10,11,23)...文章回转 文章回转功能使用户可以运行“WordPress循环”后重设主循环,然后再重新运行主循环。 调用文章回转也很容易。 那么要使用它你需要: <?
也可以使用该函数将链接地址查询类型的字符串转换成数组: $args = wp_parse_args('post_type=post&posts_per_page=5&cat=1'); // 输出 Array...wp_list_filter wp_list_filter($list, $args = array(), $operator = 'AND') 根据一组 key=>value 的参数,来过滤一组对象(...或者数组)列表,比如下面就是 WordPress 查询到了多种 post_type 的日志列表结果,过滤出 page 类型的: $pages = wp_list_filter( $wp_query->posts...wp_list_pluck wp_list_pluck( $list, $field, $index_key = null ) 从对象(或者数组)列表中每个元素中去某个字段组成一个新数组,最后一个参数是新数组的元素...的参数对对象(或者数组)列表进行排序,最后一个参数 $preserve_keys 用于是否保持原来的 key。
php // WP_Query 所使用的参数 $args = array( 'posts_per_page' => 3 ); // 调用 WP_Query 新建文章查询....> WP_Query 这个万能的文章查询类,有人把 WP_Query 所有的参数做了一个总结,然后注释了一下,供有需要的朋友查阅使用。 <?...使用自定义分类法查询参数 (3.1及以后版本可用)....' 选项覆盖了这里的设置,需要使用这个限制,尝试使用 'post_limits' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page...//注意:使用 get_query_var('page'); 如果查询在设置为首页的页面模版中工作,查询参数 'page' 拥有文章分页或内容中使用 <!
php // WP_Query 所使用的参数 $args = array( 'posts_per_page' => 3 ); // 调用 WP_Query 新建文章查询....> WP_Query 这个万能的文章查询类,有人把 WP_Query 所有的参数做了一个总结,方便后期开发查阅. <?...使用自定义分类法查询参数 (3.1及以后版本可用)....' 选项覆盖了这里的设置,需要使用这个限制,尝试使用 'post_limits' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page...//注意:使用 get_query_var('page'); 如果查询在设置为首页的页面模版中工作,查询参数 'page' 拥有文章分页或内容中使用 <!
WP_Query是wordpress提供的一个类,它支持的参数和方法非常丰富,通过各种给组合查询参数,几乎所有的文章查询都可以通过这个类实现。...Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。...主要包括条件查询参数、显示信息参数、自定义格式参数三类: Query parameters determine which posts are listed....举几个例子: orderby=”author” -按作者排序 orderby=”rand” – 随机排序 orderby=”comment_count” – 按评论数量排序 在上面的短码中我还加入了其他几个参数...还可以综合使用目录和tag两种分类发和其他的操作符来进行复杂的查询,详见这里 自定义显示形式 这也属于高级用法之一了,默认是使用Html中的无序列表ul,你可以通过参数 wrapper="ol" 来改成有序列表
wp_postmeta.meta_key = 'commission' LIMIT 0, 10 什么时候过滤数据 上面的 SQL 语句返回空,这里就出现了第一个问题,首先要明确一下是数据过滤是在 JOIN...之前过滤还是 JOIN 之后过滤的。...,返回第一个不为 NULL 的参数,如果所有参数都为 NULL,此函数返回 NULL,当它使用 2 个参数时,和 IFNULL 函数作用相同。...排序 使用了默认值之后,我们就可以使用 commission 进行排序了: SELECT wp_posts.*, COALESCE(wp_postmeta.meta_value, 10) as commission...+0 DESC, wp_posts.post_date DESC LIMIT 0, 10 首先使用 commission 进行排序,相同的商品,则使用发布时间进行排序。
我之前的「WordPress 文章查询教程6:如何使用排序相关的参数」中详细介绍了文章查询的排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停的变化,现在又有了新需求,获取最新被评论的文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求的网站可能需要用到...因为 WP_Query Class 排序参数没有 comment_date 选项,所以不能直接使用它,那么这样两个表连表查询一般来说只能通过 SQL 来实现了。...但是使用 SQL 来实现可能就会造成 API 不一致的问题,无法直接使用 WP_Query 进行各种操作,所以最好是通过 posts_clauses 接口实现让 WP_Query 排序参数支持 comment_date...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单的方式就能够获取最新被评论的文章列表: $query = new WP_Query( array
结构化查询语言 1. 过滤 概述 文档的字段是否包含特定值,比查询更快,结果可缓存 原则上全文索引或者需要其他相关性评分的使用查询语句,其他情况都用过滤。...先用第一个字段排序,第一个相同时排第二个 字符串参数排序: 被分析的字段进行强制排序会消耗大量内存 相关性简介 相似度算法:TF/IDF(检索词词频/反向文档频率) TF: 词频,出现在当前文档次数越多...嵌套对象内部会被索引为分离的隐藏文档 查询 使用特殊的nested查询或nested过滤 排序 3....扩容设计 扩容思路 首先查看是否有低效率的查询可以优化 是否缺少足够的内存 是否开启了swap 已经建立好的索引,不可修改分片数,可通过重新索引,将旧数据迁移到新索引中 搜索性能取决于最慢节点的响应时间...查询时也传入路由参数,确保只查询特定的分片,多分片查询带来的性能损耗 使用别名,指定特定的名字对应特定的路由值和过滤器。以达到多个名称共享一个索引的效果。看起来像多个索引一样。
响应式可过滤的游戏+工具展示页面 用于各种网站以按类别对图像进行排序。在本文中,我将向您展示如何借助 HTML CSS 和 javascript 创建响应式可过滤的游戏+工具展示页面。...可过滤作品集是一种流行的网络元素,可用于各种网站。它是一种作品画廊,大量作品整齐地排列在一起。值得注意的一点是,所有作品都可以在这里按类别排序。有一个导航栏,其中对所有类别进行了排序。...第 2 步:为类别创建导航栏 现在我已经使用下面的 HTML 和 CSS 代码创建了一个导航栏。正如我之前所说,有一个导航栏,所有类别都在其中进行了排序。在这里,我使用了 5 个主题和 15 个图片。...CSS .gallery .gallery-item.hide{ display: none; } 第 5 步:使可过滤的图片库具有响应性 现在我已经使用 CSS 代码的媒体查询使它具有响应性。...希望通过本文,您已经学会了如何使用 HTML、CSS 和 JS 创建响应式可过滤的游戏+工具展示页面。
首先,除了用于训练的查询三元组之外,现有pipeline中的所有三个子模块都需要特定的模块标签。然而,在实际操作过程中,高质量的训练数据是有限的,并且对其进行标注需要大量成本支出。...这与一些传统的检索系统不同,传统系统需要额外的训练来学习有关不同实体和关系类型的新KG模式。 ...此外,虽然使用独立表示的输入文本和三元组进行相似度计算比较简单,但实际效果的有效并不好。因此,「为了进一步提高检索器的性能」,本文使用了重新排序器,其目标是校准输入文本的检索到的三元组的排名。...此外,重新排序器的另一个目标是过滤掉不相关的三元组,为了有效地进行过滤,训练重新排序器以最小化输入文本和最接近但不相关的三元组之间的相似性。...实验结果表明,DiFaR框架优于传统pipeline方法,并且本文的重新排序策略显着提高了检索性能。 问答领域实验结果如下表所示: 对话领域实验结果如下表所示:
尝试1:修改index.php 第一种尝试就是直接修改index.php遍历文章的部分,对符合条件的文章进行过滤。...这个操作发生在构造查询对象后、解析查询对象(WP_Query)前,所以可以对查询对象进行修改。而且由于这是一个Hook,因此不会对主题代码有任何的侵入,相对可控。...根据文档,找到了cat参数用来去除某个分类。...如果一定要用这个方法实现的话,就需要先进行一次查询找出所有非推荐、不是最后一篇的文章id,然后加入post__not_in参数来去除这些文章。...同时也顺便用Code Snippets插件统一管理了现有的Patch代码,不用再改主题的function.php了。
代码的内容就是为自定义循环创建了参数$args。首先是让已有的查询可以在函数内部使用。要在函数中使用未定义的变量,都需要声明为全局变量才可以使用。...你可以使用逗号分隔变量创建多个全局变量 global $post, $query_string; 继续,下一行定义我将定义用于自定义查询的$args。...这些是WP_Query或query_posts()中使用的相同args。 由于我想保留已有查询,我需要将其与我定义的$args合并。wp_parse_args()函数就是这个作用。...使用我新合并的$args,我现在可以运行genesis_custom_loop(),基本上,它就是根据传递的参数来构建一个新查询,然后依据标准循环中的完全相同的钩子运行该循环。...在本系列的下一部分中,我将讨论一些其他很酷的用于处理动作的技巧,包括如何添加新操作,使用现有函数以及在动作的外部使用函数。
不过因为没有传入其他扩展参数,目前在WordPress 的管理后台看不到任何变化,只有通过代码才可以对这个新的post type进行新建文章等操作,或者用wp cli工具也可以在创建的时候指定这个post...和public值相关的参数 注册新的post type时,有些参数是比较重要的,有些参数会依赖于别的参数的值。...,在实际使用中有时候注册好了之后发现有些参数没有设置,或者有的参数设置的不符合需求。...WordPress 为我们提供了一个过滤器register_post_type_args,使用这个过滤器,可以修改现有文章类型的参数,从而对已注册的文章类型的属性进行修改,可以多次任意修改。...如果你对过滤器的使用不熟悉的话,也可以看看本博客中关于过滤器的文章。 比如下面的示例中,我们修改了awsome_app 文章类型的中的参数public为 true,使其在后台中显示出来。
query_posts 存在的问题 使用 query_posts 直接修改 WordPress 默认的主循环很方便,只要把对应的参数传递给函数即可,主循环的查询即可按照新的参数去查询,但是这样会造成以下的问题...需要去重新设置和处理回滚和偏移等问题。...使用 WP_Query 自定义查询 所以最好的方法是使用 WP_Query 来创建自定义 WordPress 查询,这样创建的查询和 WordPress 主循环隔离开,并不会影响主循环的行为。...> 上面代码定义了一个叫做 recent_query 的变量,它是类 WP_Query 的一个实例,然后我使用了 WP_Query 的一个方法 query 创建一个新的查询,它的参数和 query_posts...> 简单总结 使用 WP_Query 创建自定义 WordPress 查询是不会干扰默认的 WordPress 主循环,使用它我们完全可以在一个页面同时运行两个或者以上完全独立的 WordPress
常规的例程的稍后的位置,之前在确定要发送哪些页面 headers 的时候,所有 is_ 的函数(比如is_singular)都不起作用,通过此项改动,将`send_headers` 移到 WordPress 的查询解析完成之后...— WP 主查询 6.1 修改之后的顺序: wp_loaded parse_request parse_query pre_get_posts — WP 主查询 send_headers 此项修改应该不会对现有的代码造成什么影响...,除非你使用 send_headers 来处理那些真的不需要解析 WordPress 的查询参数的,那么可能需要把你的代码改到更早一些的 Action 去执行,比如提早到 wp_loaded 或者 parse_request...WPJAM Basic 的 JSON API 就是使用 send_headers 来处理的,所以 WordPress 6.1 就要兼容处理了。...对于以后在 send_headers 添加的新代码,都可以愉快地使用所有 is_ 函数了。
当然也可以受到到 WordPress 目录下去创建,你可以使用 WordPress 默认提供的 wp-config-sample.php 进行修改创建。...自动保存 WordPress 会在你撰写日志的时候,使用 AJAX 自动保存日志修订到数据库中。...SQL 查询,可以通过 SAVEQUERIES 选项,把所有 SQL 都保存下来: define( 'SAVEQUERIES', true ); 然后在页面底部输出: PHP 内存设置 WordPress 2.5 版本带来了一个新选项 WP_MEMORY_LIMIT,让用户自己设置 PHP 能够消耗最大内存的大小。...HTML代码 默认情况下,单站点下的管理员和编辑角色的用户是可以发布未过滤的HTML代码到日志标题,内容和留言中。
在Hive中也支持分区,但是要想使分区能加快查询速度,需要在写SQL时指定对应的分区条件过滤数据,在Iceberg中写SQL查询时不需要再SQL中特别指定分区过滤条件,Iceberg会自动分区,过滤掉不需要的数据...Iceberg进行以上操作时,代价极低,不存在读出数据重新写入或者迁移数据这种费时费力的操作。...Iceberg实现以上的原因使用唯一的id来追踪表中的每一列,当添加一个列时,会分配新的ID,因此列对应的数据不会被错误使用。...4、分区演化(partition Evolution)Iceberg分区可以在现有表中更新,因为Iceberg查询流程并不和分区信息直接关联。...得益于Iceberg的隐藏分区(Hidden Partition), 针对上图中的SQL查询, 不需要在SQL中特别指定分区过滤条件(是按照月还是按照天), Iceberg会自动分区, 过滤掉不需要的数据
(2)对结果排序 根据user profile,进行相似度匹配对结果重新排序。...隐式的反馈信息有着两类:1)根据之前的查询寻找合适的term去扩展现在的query;2)利用用户已经看过的文档形成摘要来对没有看过的文档重新排序 6)2005年WI”Personalized Serach...Personaliezed Search Results with User Interest Hierarchies Learnt from Bookmarks”建立分层的user profile来对查询结果重新排序...来对查询结果重新排序....,对于新的查询可能会无所适从;本文提出了Task-based(基于URLs)的方法,通过在历史搜索日志中挖掘出提出过和当前用户任务相关的用户,利用他们的on-task行为来提升web pages的排序.
查询谓词中有字段C的范围条件,并且结果集按C排序。因为谓词中只有字段C有索引,所以在不添加新索引的前提下,不可能创建三星理想索引(不满足第一颗星)。...扫描现有的字段C上的索引,可以消除排序,所以C上的索引本身满足第二颗星。...不增加额外的第三个索引,可以做的就是修改字段C上的索引,以C作为索引前缀,把查询中其他字段加入到现有的索引中,这样可以最大化索引过滤(B = :B AND D = 1),而且这是一个宽索引,满足第三颗星...该索引有1个匹配列C,两个过滤列B和D。扫描的是满足C > :C的索引片,用B = :B和D = 1作为过滤条件。...,这两个参数就是需要了解的信息。
领取专属 10元无门槛券
手把手带您无忧上云