好吧,我正在把头发拉过来,我知道它非常简单,只是盯着我,但我却无法看到它。实质上发生的事情是我的分页不起作用。我使用插件wp_pagenavi(这不是已经检查的问题)它给了我一个分页中每个页面的链接列表。一切正常,事实上所有的代码都做了它应该做的事情。问题是当我点击分页链接,例如" 2"或" 3"它试图进入相应的分页,即www.yousitehere.com/somepage/page/2,但该网站只是在没有/ page / 2的情况下重新加载当前页面。
我认为页面某处或者没有意识到它需要分页,因此忽略了/ page的所有实例或者在页面加载之前重置分页的东西。 (它不是reset_query)。
这是一个Wordpress网站。不幸的是,我无法显示网站链接,这使得你更难以有人提出建议。
这是我的代码
<div id="content" class="clearfix">
<div id="main" class="col960 left first clearfix" role="cont_detail">
<?php if (have_posts()) : while (have_posts()) : the_post();
$id = get_the_ID();
$array = metadata($id);
?>
<article id="post-<?php the_ID(); ?>" <?php post_class('clearfix'); ?> role="cont_detail" >
<header>
<div id="header_bg_top"></div>
<div id="header_bg">
<?php if($array['custom_facebook'] !="" && $array['custom_twitter'] !="" && $array['custom_linkedin'] != ""&& $array['custom_website'] != "" && $array['custom_blog'] != "" && $array['custom_email'] != ""){?>
<div class="social_link_container">
<div class="width">
<?php if(isset($array['custom_facebook']) && $array['custom_facebook'] !=""){?>
<a href="http://www.facebook.com/<?php echo $array['custom_facebook'];?>" target="_new"><img src="<?php echo get_template_directory_uri(); ?>/images/author-facebook.png"></a>
<?php }
if(isset($array['custom_twitter']) && $array['custom_twitter'] !=""){?>
<a href="http://www.twitter.com/<?php echo $array['custom_twitter'];?>" target="_new"><img src="<?php echo get_template_directory_uri(); ?>/images/author-twitter.png"></a>
<?php }
if(isset($array['custom_linkedin']) && $array['custom_linkedin'] !=""){?>
<a href="http://www.linkedin.com/<?php echo $array['custom_linkedin'];?>" target="_new"><img src="<?php echo get_template_directory_uri(); ?>/images/author-in.png"></a>
<?php }
if(isset($array['custom_website']) && $array['custom_website'] !=""){?>
<a href="http://<?php echo $array['custom_website'];?>" target="_new"><img src="<?php echo get_template_directory_uri(); ?>/images/author-web.png"></a>
<?php }
if(isset($array['custom_blog']) && $array['custom_blog'] !=""){?>
<a href="http://<?php echo $array['custom_blog'];?>" target="_new"><img src="<?php echo get_template_directory_uri(); ?>/images/author-blog.png"></a>
<?php }
if(isset($array['custom_email']) && $array['custom_email'] !=""){?>
<a href="mailto:<?php echo $array['custom_email'];?>"><img src="<?php echo get_template_directory_uri(); ?>/images/author-email.png"></a><?php }?>
</div>
</div>
<?php } ?>
<h1 class="cont_detail_title" itemprop="headline"><?php the_title(); ?></h1>
<?php if(isset($array['custom_description']) && $array['custom_description'] !="")
{
?>
<span class="title_description"><?php echo $array['custom_description']; ?></span>
<?php
}
?>
</div><!-- header-bg -->
</header> <!-- end article header -->
<section>
<div class="content-left">
<?php if(isset($array['featured_thumb']) && $array['featured_thumb'] !="")
{
?>
<div class="cont_detail_image">
<?php print_thumbnail($array['featured_thumb'], "medium");?>
</div>
<?php
}
?>
</div>
<div class="content-right">
<?php the_content(); ?>
</div>
</section> <!-- end article section -->
</article> <!-- end article -->
<?php endwhile; ?>
<?php else : ?>
<article id="post-not-found">
<header>
<h1>Not Found</h1>
</header>
<section class="post_content">
<p>Sorry, but the requested resource was not found on this site.</p>
</section>
<footer>
</footer>
</article>
<?php endif;
wp_reset_query();
//Sort queries, most viewed, alphabetical, date
echo '<section><div id="content_bg" class="group">';
$row_num = 1;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if( $_GET['sort'] == 'date' ) {
$sortOrder = getSortOrder( $_GET['dsort_order'] );
$meta_queries[] = array(
'key' => 'custom_authorid',
'value' => $post->ID,
'compare' => 'LIKE',
);
query_posts(array(
'post__not_in' => array($post->ID),
'post_type' => 'post',
'meta_query' => $meta_queries,
'order'=>$sortOrder,
'orderby'=> 'date',
'posts_per_page' => 9,
'paged' => $paged
));
}
elseif( $_GET['sort'] == 'alpha' ) {
$sortOrder = getSortOrder( $_GET['asort_order'] );
$meta_queries[] = array(
'key' => 'custom_authorid',
'value' => $post->ID,
'compare' => 'LIKE',
);
query_posts(array(
'post__not_in' => array($post->ID),
'post_type' => 'post',
'meta_query' => $meta_queries,
'order'=>$sortOrder,
'orderby'=> 'title',
// adding posts_per_page, set to 9 might be different then global preference
'posts_per_page' => 9,
'paged' => $paged
));
}
elseif( $_GET['sort'] == 'mviewed' ) {
}
else{
$meta_queries[] = array(
'key' => 'custom_authorid',
'value' => $post->ID,
'compare' => 'LIKE',
);
query_posts(array(
'post__not_in' => array($post->ID),
'post_type' => 'post',
'posts_per_page' => 9,
'meta_query' => $meta_queries,
'paged' => $paged
));
}
?>
<div class="paginate_nav">
<?php wp_pagenavi(); // use the page navi function ?>
<div class="sort_nav">
<?php contrPaginationLinks( $sortOrder ) ?>
</div><!--sort_nav-->
</div><!--paginate_nav-->
<?php
if( $_GET['sort'] == 'mviewed' ) {
}
else{
if (have_posts()) : while (have_posts()) : the_post();
$item = metadata($post->ID);
$containsVideos = false;
foreach ($item['cat'] as $value) {
if (strpos($value->cat_name,'Videos') !== false) {
$containsVideos = true;
}
}
?>
<div class="story-container" >
<div class="story_left">
<div class="story_image">
<input type="hidden" name="vidID" value="<?php echo $item['media_link']; ?>" />
<div class="about_latest_image <?php echo $item['media_link']; ?>">
<a href="<?php echo $item['link']; ?>">
<?php
print_thumbnail($item['featured_thumb'],"thumbnail", $item['youtube_link'], $item['vimeo_link'], $item['media_link']);
?>
<?php if($containsVideos == true){echo '<span class="videoIndicator"></span>';} ?>
</a>
</div>
</div>
<?php if($_GET['sort'] == 'date'){ ?>
<div class="story_view">
<?php echo $item['date']; ?>
</div>
<?php } ?>
</div>
<div class="story_title">
<a href="<?php echo $item['link']; ?>" title="<?php echo $item['title']; ?>">
<span class="story_title"><?php echo $item['title']; ?></span>
</a>
</div>
<?php if(isset($item['custom_description']) && $item['custom_description'] !="") {
?>
<div class="story_description"><?php echo $item['custom_description']; ?></div>
<?php
}
?>
<div class="story_content"></div>
</div>
<?php endwhile; ?>
<?php else : ?>
<h1><?php _e("No Posts Yet", "hooplahatheme"); ?></h1>
<p><?php _e("Sorry, What you were looking for is not here.", "hooplahatheme"); ?></p>
<?php endif;
} // end display else default
echo '</div></section>';
//
// reset query after display is done
//
wp_reset_query();
?>
<footer>
</footer> <!-- end article footer -->
</div> <!-- end #main -->
更新
事实证明,有一个302重定向发生,这是我试图找到下一步。
答案 0 :(得分:4)
克里斯托弗的回答可能适用于大多数人。
<强>可是.. 强>
如果您想停止重定向也会影响/pagename/page/1
,这会有所帮助:
add_filter('redirect_canonical', 'my_redirect_canonical', 10, 2);
function my_redirect_canonical($redirect_url, $requested_url) {
$do_redirect = true;
if(preg_match('/page/',$requested_url)){
$do_redirect = false;
}
return $do_redirect;
}
找到here。
答案 1 :(得分:3)
所以对于有类似问题的人来说答案很简单。您不能在wordpress中默认对单个帖子页面进行分页。它只会重定向回页面的根URL。你需要做些什么来阻止这种情况,将其添加到你的主题functions.php
add_filter('redirect_canonical','pif_disable_redirect_canonical');
function pif_disable_redirect_canonical($redirect_url) {
if( is_singular() && in_category('PLACE CAT ID HERE') ) {
$redirect_url = false;
}
return $redirect_url;
}
有关详细信息,请查看此处http://wordpress.org/support/topic/home-pagination-page2-redirect-to-a-post