4

さて、私はこれで髪を引き裂いています。それが非常に単純で、顔を見つめていることはわかっていますが、それを見ることはできません. 本質的に何が起こっているかというと、ページネーションが機能していないということです。プラグイン wp_pagenavi を使用します (これはまだチェックされている問題ではありません)。ページネーションの各ページのリンクのリストが表示されます。それはすべて正常に動作します。実際、すべてのコードは本来の機能を果たします。問題は、「2」や「3」などのページネーション リンクをクリックすると、対応するページネーション、つまり www.yousitehere.com/somepage/page/2 に移動しようとするが、代わりにサイトが現在のページをリロードするだけで、 /ページ2。

ページのどこかで、ページ分割する必要があることに気付いていないため、 /page のすべてのインスタンスを無視するか、ページが読み込まれる前に何かがページ分割をリセットしていると思います。(reset_query ではありません)。

これはワードプレスのサイトです。残念ながら、サイトのリンクを表示することができないため、あなたにとって難しいことですが、誰かが提案をしてくれることを願っています.

ここに私のコードがあります

<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 リダイレクトが発生していることがわかったので、次のステップを見つけようとしています。

4

2 に答える 2

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; 
} 

ここにあります

于 2014-02-25T04:02:19.673 に答える
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

于 2012-12-29T04:47:31.750 に答える