私はいくつかのページに表示されないプライマリナビゲーションのための解決策を見つけようとしました、すなわち。 archive.php.
ここから 1つ が見つかりましたが、それでも通知が表示されます。
Reverie Theme
でWordPress 3.6-alpha-23288
を使っています
これは修正を実装した後の私のコードです
プラグイン/ MyMainPlugin.php
add_filter( 'getMainMenu', array( $this, 'getMainMenu'), 10, 1);
function getMainMenu( $menuLocation ) {
$locations = get_nav_menu_locations();
if ( empty( $menuLocation ) ) {
$menuLocation = 'primary_navigation';
}
$menuItems = wp_get_nav_menu_items( $locations[ $menuLocation ] );
if ( empty( $menuItems ) ) {
return false;
} else {
wp_nav_menu( array(
'theme_location' => $menuLocation,
'container' => false,
'menu_class' => '',
'echo' => true,
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'depth' => 0,
'items_wrap' => '<ul class="nav-bar">%3$s</ul>',
'walker' => new reverie_walker() ) );
return true;
}
}
Theme/header.php
if ( !apply_filters( 'getMainMenu', 'primary_navigation' ) ) {
$backup = $wp_query;
$wp_query = NULL;
$wp_query = new WP_Query( array( 'post-type' => 'post' ) );
apply_filters( 'getMainMenu', 'primary_navigation' );
$wp_query = $backup;
}
特記事項
Notice:is_categoryが誤って呼び出されました。条件付き照会タグは、照会が実行される前には機能しません。それ以前は、常にfalseを返していました。詳しくはWordPressでのデバッグをご覧ください。 (このメッセージは、バージョン3.1で追加されました。)/var/www/customers/xxx/public_html/wp-includes/functions.php 2981行目で注意:is_tagが誤って呼び出されました。条件付き照会タグは、照会が実行される前には機能しません。それ以前は、常にfalseを返していました。詳しくはWordPressでのデバッグをご覧ください。 (このメッセージはバージョン3.1で追加されました。)/var/www/customers/xxx/public_html/wp-includes/functions.phpの2981行目に
これを解決する方法、およびこれを引き起こしている可能性があるという考えはありますか?何が原因なのかわかりません。
更新
これは実際にはフッターにも影響します。だから、私は私のarchive.phpページにもフッターが表示されません。
この行は奇妙に見えます:
$wp_query = new WP_Query( array( 'post-type' => 'post','page' ) );
代わりに試してみてください。
$wp_query = new WP_Query( array( 'post_type' => array('post','page') ) );
ps:post_type
修正のための@Johannes Pilleに感謝します。