Jae*_*Lee 5 html php wordpress
所以我有这个网站,你可以看到有两个菜单,一个在徽标旁边,另一个在右上方;
它们是在functions.php中使用此代码创建的;
function register_my_menus() {
register_nav_menus(
array(
'header-menu' => __( 'Header Menu' ),
'extra-menu' => __( 'Extra Menu' )
)
);
}
add_action( 'init', 'register_my_menus' );
Run Code Online (Sandbox Code Playgroud)
这是我使用菜单的代码;
<nav>
<?php wp_nav_menu(array( 'theme_location' => 'header-menu' ) ) ?>
</nav>
<nav id="ecommerce">
<?php wp_nav_menu( array( 'theme_location' => 'extra-menu' ) ); ?>
</nav>
Run Code Online (Sandbox Code Playgroud)
菜单工作正常,除非您转到侧栏中的类别,例如"博客"页面上的"文章"或"活动";
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;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我猜这个代码有问题.请帮我!我真的很感激.
最好的,Jaeeun
我通过将最后一个代码更改为此来解决它;
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;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以尝试这个(不需要多个if和$post_type = $post_type;)
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if(is_category() && $query->is_main_query()) {
$query->set( 'post_type', array( 'post', 'Blog' ) );
}
return $query;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2408 次 |
| 最近记录: |