사이드 바 위젯을 사용하여 표시 할 페이지를 알려주는 대신 메뉴 설정에서 특정 페이지에 표시되도록 선택하고 싶습니다.
기본 워드 프레스 방법 :
따라서 프로젝트는 페이지이며 일부 하위 페이지가 있습니다. 그러나 동일한 상황에서 이러한 페이지와 하위 페이지를 10 개 더 좋아한다면 어떨까요?
추가 설정 (최상위 페이지 목록)을 추가하고 싶습니다.
그러나 이러한 설정이로드되면 문서, 작업, 필터 등을 찾을 수 없습니다.
사이드 바 위젯을 사용하여 표시 할 페이지를 알려주는 대신 메뉴 설정에서 특정 페이지에 표시되도록 선택하고 싶습니다.
기본 워드 프레스 방법 :
따라서 프로젝트는 페이지이며 일부 하위 페이지가 있습니다. 그러나 동일한 상황에서 이러한 페이지와 하위 페이지를 10 개 더 좋아한다면 어떨까요?
추가 설정 (최상위 페이지 목록)을 추가하고 싶습니다.
그러나 이러한 설정이로드되면 문서, 작업, 필터 등을 찾을 수 없습니다.
답변:
좋은 선택이지만 스리랑 동의하는데 지금은 테마에 따라 다릅니다. is_page ()를 통해 해결 방법을 수행 할 수 있습니다 . page.php 테마 파일 에 다음과 같이 작성해야 합니다.
<?php
if (is_page('projects')) {
if ( is_active_sidebar( 'sidebar-navigation' )) {
dynamic_sidebar( 'sidebar-navigation' );
}
}
?>
다른 페이지에도 사이드 바를 표시하려면 논리를 사용 하거나 다음 과 같이 할 수 있습니다 .
if (is_page('projects') || is_page('home') || is_page('post-page'))
플러그인을 사용하는 것이 더 낫다고 생각하므로 나중에 테마를 변경하더라도 기능을 유지할 수 있습니다. 이 플러그인을 확인하십시오. 그것은 당신이 원하는 것을하지만, 당신이 그것을 조롱하는 방법과 약간 다릅니다.
https://wordpress.org/plugins/page-specific-menu-items/
도움이 될 경우 투표를하거나 답변으로 수락하십시오. 감사!
이것은 당신이 그것을 할 수있는 방법 스물 열두 테마 header.php 자식 테마로 복사했습니다.
<?php if ( is_page('projects') ) : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'conditional-menu-name', 'menu_class' => 'nav-menu' ) ); ?>
<?php else : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'Primary', 'menu_class' => 'nav-menu' ) ); ?>
<?php endif; ?>
표시하려는 항목으로 새 메뉴를 만들고 위 코드에서 조건부 메뉴 이름을 메뉴 이름으로 바꿉니다.
menu_class 이름은 Twenty Twelve 이외의 테마에서 변경해야 할 수도 있습니다.
나는이 스레드가 오래되었다는 것을 알고 있지만 누군가이 답변을 검색 해야하는 경우 https://themify.me/conditional-menus 에서 조건부 메뉴를 제안하고 싶습니다 . 페이지, 카테고리, 메타 등 모든 메뉴를 사용할 수 있습니다. 그리고 그것은 무료입니다 :) 이것이 도움이되기를 바랍니다.
위젯을 다시 사용하고 간단한 솔루션을 원한다면 Display Widgets라는 플러그인을 사용할 수 있습니다. 나는 이것을 사용하고 가고 싶은 곳에 링크를 추가 할 수있는 텍스트 부분을 사용했다. 링크가 자신의 사이트에 있는지 또는 다른 사이트에 있는지에 관계없이 작동합니다. 텍스트 아래에 공백이있어서 표시하거나 숨길 페이지를 선택할 수 있습니다. 사용하지 않는 위젯을 계속 제거 할 수 있습니다.
이 플러그인을 찾아서 찾기 전에 메뉴를 가지고 놀았습니다. 잘 작동한다.
WordPress.org의 플러그인 섹션에서 찾을 수 있습니다.
하나의 옵션은 가지고있는 각 메뉴에 대해 사용자 정의 템플릿을 만드는 것입니다. (테마 위치 확인란을 나타냅니다) 그런 다음 모든 페이지에서 사용할 템플릿을 선택하면 해당 템플릿과 관련된 메뉴도 사용됩니다.
https://codex.wordpress.org/Page_Templates
그것은 당신이 찾고 있다고 생각하는 것과 동일한 결과를 제공하지만 각 메뉴에 표시되는 페이지를 알려주는 대신 각 페이지에 어떤 메뉴가 표시되는지 알려줍니다. 이 방법으로 추가로 얻을 수있는 또 다른 이점은 실수로 두 개의 메뉴를 동시에 같은 위치에 놓을 수있는 방법이 없다는 것입니다.
관리자 패널에서 동일한 작업을 수행 하기 위해 Menu Swapper 플러그인을 사용할 수 있습니다 . 이 플러그인 의 데모 는 다음과 같습니다 .