我有一个名为“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\' ); ?>
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;
但是,如果您想要url
stay 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();
}
}