$PAGE和$PAGE有什么区别?

时间:2015-03-11 作者:Hung PD

我正在为我的网站创建分页。希望大家能给我解释一下下面的代码是用来做什么的?提前谢谢。

<?php
if ( get_query_var(\'paged\') ) {
    $paged = get_query_var(\'paged\');
} elseif ( get_query_var(\'page\') ) {
    $paged = get_query_var(\'page\');
} else {
    $paged = 1;
}
query_posts(\'paged=\'.$paged.\'&posts_per_page=\');
?>

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我希望您理解什么是查询变量。如果没有,简而言之。主查询使用WP_Query 让自己站起来。在主查询中,WP_Query 使用公共查询变量根据所请求的页面构造主查询,以及pagedpage 是其中的两个。要查看所有公共查询变量,请将其粘贴到页眉中,并检查所有模板中如何根据查询的页面进行设置

var_dump($wp_query->query_vars);
功能get_query_var() 用于从这些公共查询变量中获取值,在本例中pagepaged.

为了回答您的问题,这两个参数及其值由WP_Query 根据页码计算分页,更重要的是计算帖子的偏移量。正是这个参数确保了在分页时您的帖子页面正确

  • paged -> 用于主页、博客页面、归档页面和计算分页的页面。第一页是0 从那里,数字对应页码

  • page -> 用于静态首页和单页分页。这些页面上的分页工作原理相同,静态首页在分页时被视为单个页面。通过单页分页,我的意思是单个帖子可以分解为多个页面

    您的代码的基本功能是检查paged 参数,如果失败,则检查page 参数,如果未设置,则将页面设置为1. 该检查在第1页上始终失败,因此$paged 将始终回落到1. 在第一页以外的任何其他页面上pagedpage 将返回true并设置$paged 到正确的页码

    最后一点:永远不要使用query_posts 除非你需要在你的页面上写点什么,相信我,你不会想要的。始终使用WP_Query 用于分页的自定义查询。有关这方面的完整解释,请参见this post 我刚才做过

结束

相关推荐

Using categories with pages

我正在尝试使用页面类别(而不是帖子)作为筛选子页面的一种方式。我正在努力创建一个“工作”页面,其中列出了所有的子项,并且每个子项也将对其应用类别。另一个子菜单将允许您选择类别,并且仅列出这些子页面。迄今为止:functions.php - Show categories meta box for pagesfunction myplugin_settings() { register_taxonomy_for_object_type(\'category\', \'page\');