0

大家下午好

我有一个名为“画廊”的自定义分类法,并创建了一个新的页面模板来拉入“画廊”分类法中的所有帖子并对其进行分页。

这很好用(作为一个页面),但是我想将此页面设置为 WordPress 静态“首页”。

当我将此页面模板设置为“首页”时,分页不再起作用。我今天尝试了很多解决方案,非常感谢对此提供一些帮助!

非常感谢任何帮助/提示!

谢谢。

我的代码:

<?php

if ( get_query_var('paged') ) {
    $paged = get_query_var('paged');
} else if ( get_query_var('page') ) {
    $paged = get_query_var('page');
} else {
    $paged = 1;
}

$args = array(
'post_type' => 'gallery',
'paged' => $paged,
'orderby' => 'menu_order',
'order' => 'DESC'
);
query_posts( $args );

if ( have_posts()) : while( have_posts() ) : the_post(); ?>

    <!-- List Posts -->

<?php endwhile; ?>

<nav>
    <?php previous_posts_link( __( 'Previous', 'framework' ) ); ?>
    <?php next_posts_link( __( 'Next', 'framework' ) ); ?>
</nav>

<?php else : ?>

    <!-- No Posts -->

<?php endif; ?>

<?php wp_reset_postdata(); ?>

编辑:

如果我添加全局 $paged; 在 if 语句之前它确实工作得很好。谁能教育我我所缺少的东西?

还有调用 global $paged; 的性能影响(如果有的话)是什么?在主页上?

4

2 回答 2

2

添加全局 $paged; 在任何代码运行之前。

于 2013-03-08T13:00:48.383 回答
0

global $paged 在整个 WordPress 中都有效,要访问它,我们需要像您的情况一样将其放在使用之前。是的,使用这个变量完全没有问题,而且您完全安全。实际上, $paged 变量正在获取每个页面的帖子,一旦您使用此变量,它就会适当地显示数据。在 WordPress 中还可以使用其他全局变量,对于整个列表,您可以访问这个官方 codex 页面https://codex.wordpress.org/Global_Variables

我希望在阅读此评论并浏览此 URL 后,您的所有问题都将得到解决,并且您将来也可以通过最佳方法利用所有这些信息......

于 2016-04-28T09:54:13.810 回答