将页面上的分页目录固定为首页/主页

时间:2013-10-17 作者:Oscar

我有一个名为“calientes”的页面,其中有一个复杂的循环,可以完美地工作。此页面位于域中。com/calientes/。现在我需要使用此页面作为主页,所以我转到“设置->阅读”,并选择该页面作为静态页面。

现在的问题是分页不再有效。在实际页面上,它显示为like domain。com/calientes/page/2,它工作得很好!但现在它显示为域。com/page/2/when i really want to go to domain。com/calientes/page/2

我没有做任何其他改变,只是基本上选择了那个页面作为首页。

如何使分页调用域。com/calientes/page/2?

这是我在“Calientes”页面上的查询:

$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;

$args = array(
  \'posts_per_page\' => 9,
  \'paged\' => $paged,
  \'meta_query\' => array(
     array(
       \'key\' => \'_wti_like_count\',
       \'value\' => 10,
       \'compare\' => \'>=\',
       \'type\' => \'numeric\'
     )
  )
);

$wp_query = new WP_Query();
$wp_query->query( $args );

if( have_posts() ) : ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

<?php get_template_part( \'content\', get_post_format() ); ?>
<?php comments_template( \'\', true ); ?>
<?php endwhile; // end of the loop. ?>

<?php twentytwelve_content_nav( \'nav-below\' ); ?>

1 个回复
SO网友:gmazzap

这是完全正常的。当你将一个页面设置为首页时,WordPress认为你想使用主页url。

也就是说,你的calientes页面的url将是你的主页url(http://domain.com). 现在,头版并不打算使用分页,所以如果您将/page/{number} 在首页上,它被认为是\'page\' 查询变量,而不是\'paged\', 因此,如果您将其作为起始页,则必须使用:

$var = is_front_page() ? \'page\' : \'paged\';
$paged = ( get_query_var($var) ) ? get_query_var($var) : 1;
但是,如果您想要urlstay http://domain.com/calientes/ (这将成为您的主页url)您需要redirect 然后做not 将“Calientes”页面设置为主页。

add_action(\'init\', \'calientes_home\');

function calientes_home() {
   $fullurl = add_query_arg( array() );
   $url = explode(\'?\', $fullurl);
   $parts = array_filter( explode(\'/\', trim($url[0], \'/\') ) );
   if ( $parts[0] == \'page\' && is_numeric($parts[1]) ) {
     wp_redirect( home_url(\'/calientes/page/\' . $parts[1] ), 301 );
     exit();
   } elseif( $parts === array() ) {
     wp_redirect( home_url(\'/calientes/\'), 301 );
     exit();
   }
}

结束

相关推荐

Pagination for event query

我正在使用Modern Tribe Events Calendar我的问题是分页。这是对WP\\U查询分页的错误方式,还是有其他方法可以对事件日历分页?我找到了一个tutorial 这使用了WPNavi插件,但我想使用核心wordpress函数。<?php $upcoming = new WP_Query(); $upcoming->query( array( \'post_type\'=> \'tribe_events\', \'eve