在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...posts_per_archive_page (int) – 设置存档页面每页显示的文章数量。...因为 'page' 查询变量同时也是用于文章或者页面的内容中含有 中用于页面导航。...在静态首页显示当前页面的文章: $paged = ( get_query_var('page') ) ?
Query_posts中说到: query_posts函数仅用于修改主页循环(Loop),而不是一种在页面上生成次级循环的手段。...页面? 附件? 你可以按文章类型调用自己想要的日志、页面或附件。 对附件的调用可能是最有趣但同时被使用频率也是最低的一个。...抓取所有文章 你可以用几种不同的方法在网站地图和存档页等需要显示所有已发布文章的地方调用所有文章。 要调用所有已发布的文章,可以使用下面的这段代码: <?...根据对WordPress filter函数的介绍,可以用在文章查询和调用上的filter包括: post_limits 应用于查询的LIMIT语句,该语句可返回日志数组 posts_distinct...其原理是当用户在某一个页面上使用多个WordPress循环时,用代码阻止重复内容被链接。
wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 10, //(整数) - 每页显示的文章数量 (2.1和以后的版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源中,WordPress用 'posts_per_rss...过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page' => 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用...,在存档页面和搜索结果页面覆盖了 showposts 和 posts_per_page 参数 'nopaging' => false, //(布尔值) - 在一页显示所有文章或使用分页,默认值为 'false...php // 1.用于查询的参数或者参数集合 $args = array( 'post_type'=>'post' ); // 2.查询 $query=new WP_Query($args);
php // WP_Query 所使用的参数 $args = array( 'posts_per_page' => 3 ); // 调用 WP_Query 新建文章查询....' => 10, //(整数) - 每页显示的文章数量 (2.1和以后的版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源中,WordPress用 'posts_per_rss...过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1 'posts_per_archive_page' => 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用...,在存档页面和搜索结果页面覆盖了 showposts 和 posts_per_page 参数 'nopaging' => false, //(布尔值) - 在一页显示所有文章或使用分页,默认值为 'false...php // 1.用于查询的参数或者参数集合 $args = array( 'post_type'=>'post' ); // 2.查询 $query=new WP_Query($args);
不多说了,本站目前使用的效果,可以到我的存档页一览,该方法来自zww,感谢原作者,在这之前,建议你: 1、你的博客存档页面地址后面的应该为/articles,而不是常见的/archives 。...在英文中,article表示“文章”,而archive意为“档案”,使用archive貌似不那么规范;2、你的博客存档页面应该禁止搜索引擎访问,因为这会造成内容重复(在你启用站点地图插件的情况下)。...折腾功能:代码实现WordPress归档页面模板[WP原生函数篇] 原创作者:zwwooooo 特点: 1. 按照年份、月份显示文章列表 2. 显示每月的文章数量(需要配合及Query) 3....使用 WordPress 原生函数实现数据调用 5. 这个存档函数会在数据库生成一个表 zww_archives_list 来做缓存,只在发表/修改文章时才更新,减少数据库查询。 6....4. jQuery 效果代码 jQuery(document).ready(function($){ //===================================存档页面 jQ伸缩
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...第10讲关于权限和缓存的参数,这两类参数参数都用得比较少,但是一些场景下还是非常有用的: 权限参数 权限参数用于显示用户有相应权限的文章,对应的参数只有一个: perm (string) – 用户权限。...array( 'publish', 'private' ), 'perm' => 'readable', ); $query = new WP_Query( $args ); 缓存参数 用于设置停用将获取到的文章存到缓存中...另外需要注意,如果使用了持久对象缓存(例如 memcached),这些标志默认设置为 false,因为当存在持久缓存时,无需在每次页面加载时更新缓存。
MO文件的缓存机制 非英文的WordPress在运行时,对于每个页面都会调用加载.mo文件,在翻译子系统上耗费大量计算性能,此处可以使用Speed Up - Translation Cache这个插件,...将.mo文件作为Object Cache,在本站上测试可以提高30%的页面生成速度。...empty($wp_query->query_vars['posts_per_page']) ?...absint($wp_query->query_vars['posts_per_page']) : absint(get_option('posts_per_page'))); $wp_query...由此带来的反面结果就是,大量的apply_filters函数拖慢了页面加载时间。
例如,如果我们想要在获取帖子( 比如内部的 footer.php)之后某个的某个时间点确定我们正在处理什么样的页面,这时可能就是一个问题。...而且,替换主查询会对页面加载时间产生负面影响。 使用 get_posts() 方法 这个和 query_posts()很像,但它不会修改主查询。...这可能会导致不一致,特别是如果我们在代码中使用查询相关的过滤器,因为你在页面中不期望的帖子可能会被该函数返回。 使用WP_Query类 在我看来,这是从数据库中检索帖子的最佳方式。...为了实现这一点,我们使用posts_per_page参数。 WordPress允许我们将-1表示为该参数的合理值,在这种情况下,系统将尝试获取满足定义条件的所有帖子。...例如,如果我们在用户滚动我们的主页时动态加载更多的帖子,那么最好直接调用其他前端页面,这将获得被缓存的好处。 然后,我们可以通过浏览器中的JavaScript来解析结果。
子凡把泪雪的相关推荐功能进行了重写,将原来的文章相关推荐功能做了自我感觉非常优秀的改进,相比用其它 WordPress 相关文章推荐的插件来说,我更喜欢自己来折腾,经过这一番的重写 WordPress...首先 WordPress 本身并没有相关文章的推荐功能,网站之所以需要这样的功能出于两个原因,一方面是推荐相关的内容越优质,访客的留存和继续阅读将会增强,同样从优化角度来说会更加有利于搜索引擎抓取时对页面质量的提升...,毕竟一个页面的内容,推荐内容越相关,说明这个页面的质量就越高。...所有废话不多说,下面子凡就把相关的 WordPress 实现相关文章推荐的代码分享出来,供 WordPress 开发者或者喜欢折腾的朋友借鉴参考。...($post_tags, 'term_id'); } $related_args = [ 'ignore_sticky_posts' => 1, 'post_type' => 'post', 'posts_per_page
一般的分页只需要在后台设置->阅读->博客中显示的页数,即可设置网站的分页,但是这么设置的分页是全站通用的,无论是首页、分类、搜索都显示一个分页数,但是若我们想单独控制某一个页面显示多少呢?...中都是用哪些函数来判断分类的 判断是否是首页:is_home() 是否分页显示:is_paged() 是否是文章页:is_single() 是否是分类目录页:is_category() 是否是标签页:is_tag() 在wordpress...中还会提供很多钩子,我们可以通过钩子来修改wordpress的内部运行行为,因此我们可以通过分页钩子posts_per_page设置每页显示的文章数。...',4);//首页每页显示8篇文章 } if(is_search()){ $query->set('posts_per_page',-1);//搜索页显示所有匹配的文章...,不分页 } if(is_archive()){ $query->set('posts_per_page',10);//archive每页显示25篇文章 } }
当您将新内容发布到您的网站时,之前的帖子会关闭并最终移动到存档页面。粘性帖子允许您在WordPress中添加精选帖子,并在您的网站主页上以不同的方式显示它们。...在本文中,我们晓得博客将向您展示如何在WordPress中为类别添加置顶文章。 注意:Sticky Post仅适用于内置帖子类型帖子,不适用于自定义帖子类型。 ...Sticky Posts Switch插件教程WordPress中为分类添加置顶文章 Sticky Posts Switch插件的特点使您可以对首页、存档页面或类别页面上的每个自定义帖子类型使用粘性帖子功能对自定义帖子类型的快速和批量编辑支持选择帖子类型...在WordPress中为类别添加置顶帖/文章的最简单方法是使用WordPress Sticky Posts Switch插件,可让您在主页、存档页面和分类页面上设置置顶文章。 ...Sticky Posts Switch插件教程WordPress中为分类添加置顶文章 此外还可以选择在主页、帖子存档页面或分类页面(如类别和标签)上显示粘性帖子的位置。
我们有时会用wordpress创建好几种post type文章,比如默认的post文章和product文章,如果我们要在每个页面的底部调用post type类型为post最新文章要如何操作呢?...php $args = array( 'post_type' => 'post', 'posts_per_page' => 5 );...php $args = array( 'post_type' => 'post', 'posts_per_page' => 10 ); $loop = new WP_Query( $args ); while...> 有相同需求的朋友可以试试这种方法吧 参考资料https://blog.wpjam.com/article/wordpress-post-type/
wordpress实现分页需借助 WP_Query对象 示例如下 <?...php //每页显示的新闻数 $pageSize= 2; //当前显示页面 $pageNum = empty($_GET['pg'])?...'post_type'=>'post', 'posts_per_page'=>$pageSize, //每页显示的记录 'offset'=>$offset...//跳过的多少记录取posts_per_page条记录 ); $query = new WP_Query($args); //总页数 $end_page = $query...-- 循环分页 --> //指定页面 <a href="<?php echo '?pg='.$i?
前面我们讲到wordpress如何调用指定page页面内容,现在再用另外的方法来调试一下,可以直接在single.php模板使用,同样可以调用多id,随ytkah一起来看看 <?...php $args = array( 'posts_per_page' => 5, 'offset' => 0, 'cat' => '', 'category_name...> 参考资料:https://codex.wordpress.org/Function_Reference/get_posts
前面我们介绍了 WordPress 的主循环和全局变量,那么如果需要自定义 WordPress 查询进行一些事情,可以有两种方法,最容易的方法是使用 query_posts 函数,另外一种方法就是自定义...: 干扰使用到 WordPress 主循环的插件。...php $recent_query = new WP_Query(); $recent_query->query('posts_per_page=5'); ?...php $recent_query = new WP_Query(); $recent_query->query('posts_per_page=5'); ?> 简单总结 使用 WP_Query 创建自定义 WordPress 查询是不会干扰默认的 WordPress 主循环,使用它我们完全可以在一个页面同时运行两个或者以上完全独立的 WordPress
WP_Query 是 WordPress 中最重要的 class,几乎每个页面都是用它来获取文章,但是它最大的问题是,对文章进行查询的时候是直接到数据库查询的,结果没有被缓存起来,所以真正实现站点的 0SQL...对于未使用内存缓存的站点来说,同个页面中相同的 WP_Query 也也不会重复执行,所以站点性能也会得到一定提升,但是不会那么显著。...所以这也是我一直强调 WordPress 站点一定要安装 Memcached 的原因。...' => 50, 'fields' => 'ids' )); $query2 = new WP_Query(array( 'posts_per_page' => 50, 'fields...get_page_by_title 直接使用 WP_Query get_page_by_title 函数在 6.1 版本也改用 WP_Query 来获取数据,之前,该函数直接使用 SQL 查询来实现通过标题获取页面
WordPress 6.1 将新增一个函数 is_login_screen() 用于判断当前是登录界面,这个函数还是相当对比较简单,只要当前请求的页面是登录界面,就返回 true,其他情况则返回 false...这个函数提供了快速判断登陆界面的方法,我之前在如何判断 WordPress 的登录页面的文章中也写过一个函数 wpjam_is_login 也实现了类似的功能,但是 is_login_screen()
目录 目录 一、CVE-2017-9603 二、漏洞分析 四、总结 一、CVE-2017-9603 WordPress Plugin WP Jobs < 1.5 - SQL Injection 二、漏洞分析...php $job_id = $_REQUEST['jobid']; //获取jobid $jb_args = array( 'posts_per_page' => -1, 'orderby...post_type=job&page=WPJobsJobApps&jobid=11 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL-- admin 当字段数为6的时候,返回特殊页面...sanitize_key($_REQUEST['jobid']) : null; $jb_args = array( 'posts_per_page' => -1, 'orderby'...> 可以看到官方对于jobid加了一个wordpress自带函数sanitize_key来过滤特殊字符,使jobid的参数只允许包含数字和字母,破折号和下划线,从而修复了SQL注入漏洞。
WordPress 6.1 的时候通过提高 WP_Query 查询性能真正实现站点 0 SQL,现在 WordPress 6.2 将性能要求做到更加极致,将弃用 get_page_by_title()...函数,建议开发者直接使用 WP_Query 根据标题获取页面。...两点原因: get_page_by_title() 函数是直接使用数据库查询获取页面的,可能由于数据库版本或者引擎不同,而造成返回的数据会有可能不同,切换到使用 WP_Query 获取数据则可确保得到相同的结果...WordPress 6.1 的时候提高了 WP_Query 性能,实现了缓存,所以开发者直接使用 WP_Query 去根据标题获取页面则效率更高。该函数就没有必要了。...'title' => 'Sample Page', 'post_status' => 'all', 'posts_per_page
wordpress 如何提供接口? 页面如何实现异步请求接口数据,并完成页面的渲染?...问题1 – 模糊搜索: 大胆尝试: wordpress 原生自带有一个 wp_query 函数,它支持的参数非常完善灵活,实现整个网站与数据库的交互。...于是我们试一试: Shell $args = [ 'posts_per_page' => -1, // 每页数量 -1 不限制数量 'ignore_sticky_posts...所以,我们将会用到 wordpress 自带的 admin-ajax.php 文件。...但是其中几点需要注意到的是: header(“Content -Type: application/json”); // 指定返回头 wp_die() //接口响应结束用这个函数结尾,否则会一直走到这个当前页面最下面
领取专属 10元无门槛券
手把手带您无忧上云