このサイトには 2 つのメニューがあり、1 つはロゴの横、もう 1 つは右上にあります。
functions.php のこのコードを使用して作成されます。
function register_my_menus() {
register_nav_menus(
array(
'header-menu' => __( 'Header Menu' ),
'extra-menu' => __( 'Extra Menu' )
)
);
}
add_action( 'init', 'register_my_menus' );
これはメニューを使用するための私のコードです。
<nav>
<?php wp_nav_menu(array( 'theme_location' => 'header-menu' ) ) ?>
</nav>
<nav id="ecommerce">
<?php wp_nav_menu( array( 'theme_location' => 'extra-menu' ) ); ?>
</nav>
また、「ブログ」ページの「記事」や「イベント」などのサイドバーのカテゴリに移動する場合を除いて、メニューは正常に機能します。
http://www.ducklingfarm.com/blog/
ブログ ページはカスタム投稿タイプです。カテゴリを機能させるために、functions.php にいくつかのコードを追加しましたが、それ以降、メニューが正しく機能しません。そのコードは;
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if(is_category() || is_tag()) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('post','Blog');
$query->set('post_type',$post_type);
return $query;
}
}
したがって、コードに何か問題があると思います。私を助けてください!本当にありがたいです。
最高、ジェウン
最後のコードをこれに変更して解決しました。
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if(is_category() && $query->is_main_query()) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('post','Blog');
$query->set('post_type',$post_type);
return $query;
}
}