Wordpress pre_get_posts 범주 필터가 사용자 지정 메뉴 항목을 제거합니다.
이 사이트에는 두 가지 메뉴가 있습니다.하나는 로고 옆에 있고 다른 하나는 오른쪽 상단에 있습니다.
함수에서 이 코드를 사용하여 생성됩니다.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;
}
}
이것을 시험해 보세요(복수가 필요 없음).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;
}
물건을 사용하기 전에 다음 조건을 확인하십시오.
if ($query->get('post_type') == 'nav_menu_item')
return $query;
다음과 같습니다.
function wp32151_search_filter($query)
{
if ($query->get('post_type') == 'nav_menu_item')
return $query;
if ($query->is_search) {
$query->set('post_type', 'shows');
}
return $query;
}
add_filter('pre_get_posts', 'wp32151_search_filter');
언급URL : https://stackoverflow.com/questions/19194462/wordpress-pre-get-posts-category-filter-removes-custom-menu-items
'source' 카테고리의 다른 글
Visual Studio 코드에서 언어를 JSX로 변경 (0) | 2023.02.12 |
---|---|
Respect-Intl 입력 플레이스 홀더에서 Formatted Message를 사용하는 방법 (0) | 2023.02.12 |
'컴포넌트는 eslint-react에서 순수한 함수 오류로서 작성되어야 한다'는 것을 어떻게 해결할 것인가? (0) | 2023.02.12 |
추가 쿼리 문자열 매개 변수 또는 POST를 사용할 수 없는 경우 Internet Explorer 11에서 AJAX 캐시를 피하는 방법 (0) | 2023.02.12 |
ng-show가 트리거되면 함수를 호출하시겠습니까? (0) | 2023.02.12 |