首页
学习
活动
专区
圈层
工具
发布

10个WordPress的query_posts语句使用技巧

Query_posts的魅力在于,它可以根据你的要求,通过各种各样的方式灵活地检索并过滤日志或页面。你可以用query_posts进行简单的文章抓取,可以只抓取一篇,也可以抓取上百篇。...你可以按文章类型调用自己想要的日志、页面或附件。 对附件的调用可能是最有趣但同时被使用频率也是最低的一个。...这使用户选定的文章能够不受时间的排序标准,总是显示在文章列表的最上方。 实现文章置顶的标准操作是,将这些文章添加到所返回数据列表的开始部分。...在计算出分页后,该查询返回日志列表(分页并不影响JOIN语句,因此该函数相当于posts_join) posts_orderby 应用于查询的ORDER BY语句,该语句可返回日志数组 posts_request...在执行查询前,应用于将返回日志数组的整个SQL查询 posts_where_paged 应用于查询的WHERE语句。

1.4K90

WordPress 文章查询教程1:如何使用分类,标签或其他分类模式参数

「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...) ); 使用标签 ID 获取只要打了标签 ID 为 37 或 47 的文章: $query = new WP_Query( array( 'tag__in' => array( 37, 47 ) )...); 使用标签 ID 获取都没有打了标签 ID 为 37 或 47 的文章: $query = new WP_Query( array( 'tag__not_in' => array( 37, 47 )...三、真正的王炸:tax_query tax_query 参数是 WordPress 3.1 版本引进的,WordPress 非常复杂的多重筛选就是使用它实现的,我们将通过几个例子讲解怎么实现。...特别注意的是:tax_query 参数是分类模式参数数组的列表,首先我们先了解一下它的参数数组的子参数: relation (string) – 多个内部分类参数数组之间的逻辑关系。

2.2K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    >   两段代码是等效的,为了保持代码的简洁性,WordPress 隐藏了全局的主循环变量 $wp_query。   WP_Query最基础用法 的文章的id 'post__not_in' => array(1,2,3), //(数组) - 需要排除的文章的id //注意:不能在同一个查询里同时使用 'post__in' 和 'post...__in' - 使用 post__in 数组中制定的 ID 顺序 (3.5以后的版本中可用). /** * 置顶文章参数 - 显示或忽略置顶文章 */ 'ignore_sticky_posts' =>...* 时间参数 - 显示某个时间段内的文章 */ 'year' => 2012, //(int) - 4 个数字的年份 (如:2011) 'monthnum' => 3, //(int) - 月份数字 (...$query = new WP_Query( 'p=36' );   调用指定page页面或category分类页可以用类似的写法 $query = new WP_Query( 'cat=9' );//

    5.4K41

    WordPress自定义查询:WP_Query的使用

    > 两段代码是等效的,为了保持代码的简洁性,WordPress 隐藏了全局的主循环变量 $wp_query。 WP_Query最基础用法 的文章的id 'post__not_in' => array(1,2,3), //(数组) - 需要排除的文章的id //注意:不能在同一个查询里同时使用 'post__in' 和 'post...__in' - 使用 post__in 数组中制定的 ID 顺序 (3.5以后的版本中可用). /** * 置顶文章参数 - 显示或忽略置顶文章 */ 'ignore_sticky_posts' =...* 时间参数 - 显示某个时间段内的文章 */ 'year' => 2012, //(int) - 4 个数字的年份 (如:2011) 'monthnum' => 3, //(int) - 月份数字...= new WP_Query( 'p=10' ); 调用指定page页面或category分类页可以用类似的写法 $query = new WP_Query( 'cat=8' );//调用指定分类的文章

    2.6K20

    WordPress 4.0 WP_Query 引入更强大的 Order By

    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() 方法。

    40120

    WordPress 6.1 将提高 WP_Query 查询性能,真正实现站点 0 SQL

    对于未使用内存缓存的站点来说,同个页面中相同的 WP_Query 也也不会重复执行,所以站点性能也会得到一定提升,但是不会那么显著。...如果直接使用 SQL 语句更新到数据库的话,则强烈建议执行之后,使用 clean_post_cache 函数对缓存进行清理。...WP_Query 初始化所有作者数据 在 6.1 之前,主循环会同时加载作者信息,所以具有多个作者的站点需要执行多次数据库查询来分别获取作者的信息,现在 WordPress 6.1 引入了一个新函数 update_post_author_caches...此函数接受一个 post 对象数组参数,并将初始化用户缓存,WP_Query 会自定调用 update_post_author_caches 以提高站点性能。...初始化菜单中的所有链接对象 WordPress 6.1 还新增了函数 update_menu_item_cache,它支持一个 post 的对象数组参数,然后就会初始化菜单中引用到的文章或者分类的数据缓存

    1.1K20

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

    「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...” 参数的升序或降序,默认为”DESC”,即为降序,如果是数组的话,可用于多个 order/orderby 集: ASC – 升序,从最低值到最高值 (1, 2, 3; a, b, c) DESC –...默认为:date (post_date)。可以传递一个或多个选项: none – 无顺序 ID – 按文章 ID 排序,注意 ID 是大写的。 author – 按文章作者排序。...( $args ); 获取 my_custom_post_type 的文章,按照数字自定义字段 age 排序,并通过 meta_query 过滤数据只显示 age 为:3-4 的数据 $args = array...meta_query 到 orderby 数组: $q = new WP_Query( array( 'meta_query' => array( 'relation' =>

    3.1K30

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

    「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...只有一个内嵌 meta_query 数组参数的时候,不要使用该参数。 meta_query 还包含一个或者多个具有以下键值的数组: key (string) – 自定义字段的 key。...重要提示:meta_query 的参数应该是一个 meta query 的数组的数组,它让你可以通过最外层数组的 relation 参数来定义关系。...获取其中自定义字段键为“价格”,小于或等于 22 的商品: $args = array( 'meta_key' => 'price', 'meta_value' => '22...通过一个自定义字段使用 meta_query 获取文章 $args = array( 'post_type' => 'product', 'meta_query' => array(

    2K10

    wordpress插件开发踩坑记

    WP_Error类的第一个参数不能设为0接口校验不通过时,我们会选择直接 return 一个 WP_Error 对象,但是要注意 WP_Error 的第一个状态码如果是字符串数字会被直接转成数字,切记不能设置为数字或字符串...Object 对象在PHP 中,有三种类型的数组:// 数值数组:以数字为键的数组,键从0开始自增$arr = ['zhou', 'xiao', 'hei'];// 关联数组:带有指定的键的数组,每个键关联一个值...$list = ['id'=>1, 'name'=>'周小黑'];// 多维数组:包含一个或多个数组的数组其实关联数组就是 javascript 中的对象 Object3....数组取值php 中要获取数组(或"对象",即上面说到的关联数组,也就是前端js中的object)的属性值,要用 ["xx"],不能用 -> ,横线箭头这个是 class 类对象才能这样获取$arr =...WP_Query 和 WP_Comment_Query 中的 no_found_rows 参数WP_Query 和 WP_Comment_Query 这两个查询类里,其实都有这个参数no_found_rows

    1.1K10

    wordpress实现 ajax 分页加载

    我们只需要在AJAX 执行的过程中向后台传递一个分页参数,就可以返回这个分页上的文章列表。再返回文章列表的时候,我们还需要返回下一分页的页码,当然如果不是最后一页的话。...鉴于wp query有着丰富的参数,我们可以通过转递指定的参数来控制文章列表的输出,使之可以在分类、标签等归档正常使用。...实现方法 你需要修改的地方一共有2处,一处是包裹你文章列表的容器,一处是根据的文章列表的样式跳转输出结构。...其实服务器端输出文章信息的json,然后用JS重新组装列表要更好些,考虑到目标人群,在服务器端生产文章列表的学习成本要小一些,这里就在服务器端直接生成文章列表了。...''; return $post_section; } 这个是ajax 加载列表的服务器端函数,无需修改。

    1.9K20

    WordPress 文章查询教程3:如何使用文章类型参数

    「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...第三讲关于查询特定文章类型的文章,文章类型的参数只有 post_type 这一个,它可以是字符串或者数组,默认值是 'post',如果设置了分类参数 'tax_query' 的话,默认值是 'any':...'自定义文章类型' - 如何 product 产品 只获取页面: $query = new WP_Query( array( 'post_type' => 'page' ) ); 获取任何类型的文章(除了文章修订和除了文章类型的...'exclude_from_search' 的属性为 true 的所有文章类型): $query = new WP_Query( array( 'post_type' => 'any' ) ); 获取多个文章类型的文章...,包括自定义文章类型: $query = new WP_Query( array( 'post_type' => array( 'post', 'page', 'product', 'movie' )

    1.2K30

    WordPress文章归档页面分组和分页

    WordPress 归档页面是一个网站的历史内容存档,它允许用户浏览网站的过去内容。它的存在有以下几个意义: 为用户提供内容索引和历史参考:用户可以通过归档页面快速浏览网站的历史文章。...提供搜索引擎优化:可以帮助搜索引擎更好地理解网站的内容,从而提高网站在搜索引擎中的排名。 方便用户查找特定时间段的内容:用户可以通过归档页面快速找到特定日期或者月份的文章。...; $post_content = apply_filters('the_content', $post->post_content); // 获取文章列表的分页和数据信息 $paged...分组原理是按照时间由晚到早的顺序查询posts,每页查询数量由变量$posts_per_page决定,遍历查询结果时,提取文章的年份,并创建一个key为年份,value为属于该年的文章组成的数组,最后循环输出这个数组的内容即可...,大家可以根据自己的需求扩展或精简。

    88910

    wodpress调用当前文章同分类下相同tag的10篇文章

    php// 获取当前文章的ID$current_post_id = get_the_ID();// 获取当前文章的分类$current_post_categories = wp_get_post_categories...empty($current_post_tags)) { // 随机化标签数组 shuffle($current_post_tags); // 取第一个标签作为查询的基础 $tag_id...>这段代码首先获取当前文章的ID,然后获取其分类和标签。接着,它构建一个查询参数数组,其中包含了限制文章数量、指定分类、指定标签ID、排除当前文章以及随机排序的设置。...使用`WP_Query`执行这个查询,最后循环输出查询到的文章标题和链接。请注意,这段代码假设当前文章至少有一个分类和一个标签。如果当前文章没有分类或标签,代码将输出相应的信息。...此外,代码中使用了`shuffle`函数来随机化标签数组,并使用数组的第一个元素作为查询的基础,这是因为我们只需要一个标签来找到相关文章。

    22000

    如何在 WordPress 中获取最新被评论的文章列表

    我之前的「WordPress 文章查询教程6:如何使用排序相关的参数」中详细介绍了文章查询的排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停的变化,现在又有了新需求,获取最新被评论的文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求的网站可能需要用到...但是使用 SQL 来实现可能就会造成 API 不一致的问题,无法直接使用 WP_Query 进行各种操作,所以最好是通过 posts_clauses 接口实现让 WP_Query 排序参数支持 comment_date...10, 2); 上面的代码简单解释一下,就是通过 posts_clauses 接口实现文章表和评论表连表,然后通过评论时间进行排序获取最新被评论的文章列表。...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单的方式就能够获取最新被评论的文章列表: $query = new WP_Query( array

    4.7K30
    领券