在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...第一讲,把 WP_Query 最常用的分类,标签和分类模的所有相关的参数讲解一下,例子也是来自官方文档,学完之后,你可以在 WordPress 进行非常复杂的多重筛选。...特别注意的是:tax_query 参数是分类模式参数数组的列表,首先我们先了解一下它的参数数组的子参数: relation (string) – 多个内部分类参数数组之间的逻辑关系。...比如:获取在 quotes 分类中或者同时有 quote 文章格式和在 wisdom 分类中的文章: $query = new WP_Query(array( 'post_type' => 'post
WP_Query 的 orderby 参数用于告诉获取的 Posts 是基于哪列进行排序的,默认是 post_date,并且 WP_Query 的默认排序顺序是降序,就是最新发布的日志排在前面。...WP_Query 的 orderby 基本用法 $q = new WP_Query( array( 'orderby' => 'post_title' ) ); 或者: $q = new WP_Query...( array( 'orderby' => 'title' ) ); 这两段代码都会生成如下的 SQL: ORDER BY post_title DESC WP_Query 的 orderby 高级用法...所以到 4.0,WordPress 修正了这个问题,如果你输入用空格分开的多列,每个列后面都会加入排序顺序,并且 4.0 还可以让你控制每列的排序顺序,我们可以通过传递一个数组给 WP_Query 的...) ); 生成的 SQL: ORDER BY post_title DESC, menu_order ASC 更详细用法可以参考:WP_Query 累的 parse_order() 方法。
wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 两段代码是等效的,为了保持代码的简洁性,WordPress 隐藏了全局的主循环变量 $wp_query。 WP_Query最基础用法 <?...- 显示某些自定义分类法里面的文章 * 重要提示: tax_query 使用多维数组 * 这种查询结构允许我们查询多个自定义分类法 */ 'tax_query' => array( //(数组) -...' => 10, //(整数) - 每页显示的文章数量 (2.1和以后的版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源中,WordPress用 'posts_per_rss...= new WP_Query( 'p=10' ); 调用指定page页面或category分类页可以用类似的写法 $query = new WP_Query( 'cat=8' );//调用指定分类的文章
今年 10 月,我们收到了来自 GiaoHangTietKiem JSC 的 ngocnb 和 khuyenn 的报告,涉及 WordPress 中的 SQL 注入漏洞。...首先,这是一个演示该漏洞的快速视频: 漏洞 该漏洞发生在 WordPress Query ( WP_Query ) 类中。WP_Query对象用于对 WordPress 数据库执行自定义查询。...在这个插件中,易受攻击的WP_Query类在ajax-pagination.php的get_document_data方法中被利用: public function get_document_data...get_sql_for_clause调用clean_query来验证用户提供的字符串。但是,如果分类参数为空且字段参数的值为字符串“term_taxonomy_id” ,则该方法无法验证术语参数。...同样, Contact Form 7中的文件上传漏洞插件也被检测为被趋势科技传感器利用。在这种情况下,错误通过插件暴露,但存在于 WordPress 本身中。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...第三讲关于查询特定文章类型的文章,文章类型的参数只有 post_type 这一个,它可以是字符串或者数组,默认值是 'post',如果设置了分类参数 'tax_query' 的话,默认值是 'any':...'exclude_from_search' 的属性为 true 的所有文章类型): $query = new WP_Query( array( 'post_type' => 'any' ) ); 获取多个文章类型的文章
自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能。WP_Query怎么用呢?...> 两段代码是等效的,为了保持代码的简洁性,WordPress 隐藏了全局的主循环变量 $wp_query。 WP_Query最基础用法 <?...- 显示某些自定义分类法里面的文章 * 重要提示: tax_query 使用多维数组 * 这种查询结构允许我们查询多个自定义分类法 */ 'tax_query' => array( //(数组) -...' => 10, //(整数) - 每页显示的文章数量 (2.1和以后的版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源中,WordPress用 'posts_per_rss...调用指定分类的文章 $query = new WP_Query( 'page_id=7' );//指定page页面 调用多篇文章 调用id为34、32、30的文章 $args = array(
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...author_name (string) – 使用 'user_nicename' 而不是 name. author__in (array) – 使用分类 ID 数组。...author__not_in (array) – 使用分类 ID 数组。
而说到复杂点的用法,你甚至可以利用query_posts来查询某一分类目录下某个作者发表的、带有某个标签的特定数量文章等。下面介绍的是一些更实用的用法。...Query_posts中说到: query_posts函数仅用于修改主页循环(Loop),而不是一种在页面上生成次级循环的手段。...置顶文章 WordPress在 2.7版本中引入了文章置顶功能。 这使用户选定的文章能够不受时间的排序标准,总是显示在文章列表的最上方。...其原理是当用户在某一个页面上使用多个WordPress循环时,用代码阻止重复内容被链接。...例如,当你的网站首页显示了最新发表的日志后会继续显示分类,如果隐藏重复内容,分类下将隐藏已经显示的最新发表的日志, 从而让更多内容显示在主页上。
WP_Query 是 WordPress 中最重要的 class,几乎每个页面都是用它来获取文章,但是它最大的问题是,对文章进行查询的时候是直接到数据库查询的,结果没有被缓存起来,所以真正实现站点的 0SQL...WP_Query 实现数据库查询缓存 WordPress 6.1 改进了 WP_Query 类中数据库查询的执行方式,实现 SQL 查询缓存,这意味着如果多次运行同一条 SQL 查询,查询结果将从缓存中加载...对于未使用内存缓存的站点来说,同个页面中相同的 WP_Query 也也不会重复执行,所以站点性能也会得到一定提升,但是不会那么显著。...WP_Query 初始化所有作者数据 在 6.1 之前,主循环会同时加载作者信息,所以具有多个作者的站点需要执行多次数据库查询来分别获取作者的信息,现在 WordPress 6.1 引入了一个新函数 update_post_author_caches...初始化菜单中的所有链接对象 WordPress 6.1 还新增了函数 update_menu_item_cache,它支持一个 post 的对象数组参数,然后就会初始化菜单中引用到的文章或者分类的数据缓存
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...第13讲关于 WP_Query 类的所有属性: query保存由 WP 类传递给 wp_query 对象的查询字符串。...$queried_object 只有请求是分类,作者,文章或者页面则用于保存请求的对应分类信息,作者,文章和静态页面的对象信息。...queried_object_id和 queried_object 一样,这里则保存对应的 ID。 $posts 使用从数据库中获取的文章信息填充。 $post_count 显示的文章数量。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...=> 'readable', ); $query = new WP_Query( $args ); 缓存参数 用于设置停用将获取到的文章存到缓存中,对应的参数有三个: cache_results (boolean...缓存文章信息. update_post_meta_cache (boolean) – 缓存 post meta 信息. update_post_term_cache (boolean) – 缓存对应的分类或者标签信息...= new WP_Query( $args ); 显示50篇文章,但是 post meta 信息不加入缓存中: $args = array( 'posts_per_page'
中比较重要的一个概念: WP_Query是定义于 wp-includes/query.php 中的一个用于处理复杂的请求wordpress博客中文章或页面的类。...WP_Query是wordpress提供的一个类,它支持的参数和方法非常丰富,通过各种给组合查询参数,几乎所有的文章查询都可以通过这个类实现。...Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。...(1) ---- 过滤特定的目录或标签中的文章 下面的方式可以列出所有tag为python的文章列表,如果你想显示某个目录下的文章,只需要把tag改为 category,查询条件可以是id或者名称,也可以把多个查询条件用逗号隔开...还可以综合使用目录和tag两种分类发和其他的操作符来进行复杂的查询,详见这里 自定义显示形式 这也属于高级用法之一了,默认是使用Html中的无序列表ul,你可以通过参数 wrapper="ol" 来改成有序列表
每个项目的需求都不一样,比如最近ytkah的客户提出如果wordpress分类只有一篇文章则直接跳转到文章页,这个实现起来不会很麻烦,几行代码就能搞定,下面就来一起看看吧。...打开主题的function.php文件,添加如下代码 function category_jump_page() { //定义函数 if(is_category()) { //判断是否是分类列表页面...global $wp_query; //定义全局变量 if ($wp_query->post_count == 1) { //判断文章数量是否是1...} } add_action('template_redirect', 'category_jump_page'); //把定义的函数使用上 当然,wordpress的搜索结果也可以这样设置...global $wp_query; //定义全局变量 if ($wp_query->post_count == 1) { //判断文章数量是否是1 wp_redirect
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...只显示草稿状态的文章: $query = new WP_Query( array( 'post_status' => 'draft' ) ); 显示多个状态的文章: $query = new WP_Query...( array( 'post_status' => array( 'pending', 'draft', 'future' ) ) ); 显示所有附件: $query = new WP_Query( array
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...” 参数的升序或降序,默认为”DESC”,即为降序,如果是数组的话,可用于多个 order/orderby 集: ASC – 升序,从最低值到最高值 (1, 2, 3; a, b, c) DESC –...可以传递一个或多个选项: none – 无顺序 ID – 按文章 ID 排序,注意 ID 是大写的。 author – 按文章作者排序。
前些时在开发主题时遇到一个小问题,始终想不明白,就是如何在子分类中获取到父分类的链接。 尝试过很多种办法都不能正确的获取到,后来上网查了查发现一个很好的方法。...下面分享本站正在使用的在子分类获取父分类的链接的wordpress技巧 代码如下 //获取子分类的父分类 function get_category_cat() { $catID = get_query_var...('cat'); // 当前分类ID $thisCat = get_category($catID); $parentCat = get_category($thisCat->parent); /.../ 输出父分类的链接 echo get_category_link($parentCat->term_id); }复制 使用方法 将上面代码加入到function.php里面即可。
子凡把泪雪的相关推荐功能进行了重写,将原来的文章相关推荐功能做了自我感觉非常优秀的改进,相比用其它 WordPress 相关文章推荐的插件来说,我更喜欢自己来折腾,经过这一番的重写 WordPress...首先 WordPress 本身并没有相关文章的推荐功能,网站之所以需要这样的功能出于两个原因,一方面是推荐相关的内容越优质,访客的留存和继续阅读将会增强,同样从优化角度来说会更加有利于搜索引擎抓取时对页面质量的提升...所有废话不多说,下面子凡就把相关的 WordPress 实现相关文章推荐的代码分享出来,供 WordPress 开发者或者喜欢折腾的朋友借鉴参考。...= array_merge([$pid],$pids);//合并文章 ID $catids = wp_list_pluck(get_the_category($pid),'term_id');//分类...,首先是根据当前文章 ID 获取当前文章设置的标签,根据标签来获取相同标签的文章,并且排除当前文章,如果文章数量不够,就继续或许当前文章分类下面的文章,并且排除当前文章和前面已经获取到的文章,如果还不够我们需要的数量
但是有时候我们需要在页面上显示2个(获这个更多)日志列表,通常我们是通过多个循环(一个标准的循环,一个来自特定的分类的循环)来实现。这样通常是你就能不仅想推荐最新写的日志,同时来自某个特定的分类。...php $my_query = new WP_Query('category_name=featured&showposts=1'); while ($my_query->have_posts()) :...Reducing Duplicate Content on WordPress Blogs Duplicate Content Cure Plugin for Wordpress, 这是一个非常有效的...SEO 插件,它能阻止搜索引擎索引含有重复内容的 WordPress 博客的页面,如存档,分类页面。... 翻译自 Most Desired WordPress Hacks: 11 Common Requests and
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...relation (string) – 用于定义多个内嵌 meta_query 数组之间的关系,它的值是:'AND', 'OR'。只有一个内嵌 meta_query 数组参数的时候,不要使用该参数。...meta_query 还包含一个或者多个具有以下键值的数组: key (string) – 自定义字段的 key。 value (string|array) – 自定义字段的 value。
直接来代码,可以使用 WP_Query 的 tax_query 参数来实现: $wpjam_query = new WP_Query([ 'post_status' => 'publish', '...=> 'post_tag', 'field' => 'id', 'operator' => 'NOT EXISTS' ] ] ]); 该功能已经整合到 WPJAM Basic 插件中,...直接在 WordPress 后台文章列表选择没有设置分类即可,而未打标签的文章,则在 URL 中加入 tag=-1 即可获取:
领取专属 10元无门槛券
手把手带您无忧上云