Problem mit der Navigation auf der Vorderseite nach dem Upgrade auf 3.4

Ich habe ein Upgrade auf WordPress 3.4 durchgeführt und habe Probleme, eine andere Menge an Post auf der ersten Seite zu zeigen. Die erste Seite zeigt noch 5 Beiträge, aber wenn ich zu / page / 2 / gehe, erhalte ich einen 404 Fehler.

Ich habe Paginierung auf den benutzerdefinierten Post-Typ-Seiten und Autorenseiten und es funktioniert gut. Dies geschieht nur auf der ersten Seite mit der Kombination aller Post-Typen zusammen.

Hier ist mein Code, der helfen kann:

// For adding custom post types to the feed if ( ( is_front_page() && false == $query->query_vars['suppress_filters'] ) || is_feed() ){ $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts( array('post_type'=>array('post', 'gaming', 'entertainment', 'tech', 'breakroom', 'podcasts', 'off-grid'),'paged'=>$paged ) ); } // different amount of post on front page then other pages $temp = $wp_query; $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $wp_query = null; $wp_query = new WP_Query(); $wp_query->query(array( 'post_type' => array('post', 'gaming', 'entertainment', 'tech', 'breakroom', 'podcasts', 'off-grid'), 'post_status' => 'publish', 'paged' => $paged, 'posts_per_page' => 10, 'caller_get_posts'=> 1. )); $max_first_page = 5; // Show this many posts on front page $args = $wp_query->query; $posts_per_page = get_query_var('posts_per_page'); $posts_to_skip = $posts_per_page - $max_first_page; if ($paged == 1) { $max_posts = $max_first_page; $firstPageCheck = "yes"; } else { $max_posts = $posts_per_page; $args['offset'] = (($paged - 1) * $max_posts)- $posts_to_skip; $firstPageCheck = "no"; } query_posts($args); if ($wp_query->max_num_pages found_posts + $posts_to_skip)/$posts_per_page)) ++$wp_query->max_num_pages; $counter = 0; if ($firstPageCheck == "yes") { // front page here } else { // all other pages } 

Solutions Collecting From Web of "Problem mit der Navigation auf der Vorderseite nach dem Upgrade auf 3.4"

Es hat aufgehört, mit WP 3.4 zu arbeiten, weil es Korrekturen zu handle_404 () gab und Sie einen falschen Weg auf der Startseite verwenden … anstatt eine neue Abfrage zu erstellen, ändern Sie die Hauptabfrage.

Änderungssatz: http://core.trac.wordpress.org/changeset/19892

Beispielcode:

 function my_query_for_homepage( $query ) { if( $query->is_main_query() && $query->is_home() ) { $query->set( 'post_type', array( 'post', 'gaming', 'entertainment', 'tech', 'breakroom', 'podcasts', 'off-grid' ) ); } } add_action( 'pre_get_posts', 'my_query_for_homepage' );