WordPress의 게시물 및 페이지에 대해 다른 사이드바를 표시하는 방법

게시 됨: 2023-02-16

기본적으로 WordPress는 모든 게시물과 페이지에 동일한 사이드바를 표시합니다. 그러나 때로는 가장 중요한 게시물 또는 전체 게시물 카테고리와 관련된 사이드바 항목에 대해 완전히 다른 사이드바를 표시하고 싶을 수 있습니다. 어떻게 하는지 궁금하셨다면 잘 오셨습니다!

이 기사에서는 수동으로 그리고 WordPress 플러그인을 사용하여 다른 게시물 또는 페이지에 대한 고유한 사이드바를 만드는 방법을 보여줍니다. 하지만 먼저 왜 이 작업을 수행해야 하는지에 대해 자세히 이야기해 보겠습니다.

다른 사이드바가 필요한 이유

앞서 언급했듯이 블로그에 많은 카테고리가 있는 경우 해당 주제와 유사한 제안, 광고 또는 제품이 포함된 사이드바를 갖고 싶을 수 있습니다. 또는 각 페이지의 대상에 맞게 조정된 "회사 소개" 사이드바에서 귀하의 비즈니스에 대해 이야기하고 싶을 수도 있습니다.

이러한 유형의 상황에서는 고유한 사이드바를 원할 것입니다. 직접 만들거나 WordPress 플러그인을 사용하여 수동으로 만들 수 있는 두 가지 방법이 있습니다.

먼저 수동 방법을 다루겠습니다.

다른 책 및 기술과 함께 책상에 워드프레스 사이드바를 표시하도록 정렬된 도구 눈금자 키보드 및 식물의 이미지

새 WordPress 사이드바를 수동으로 만드는 방법

새 사이드바를 수동으로 만들려면 이상적으로는 로컬 환경에서 자식 테마를 사용해야 합니다. 우리는 이미 271 테마용으로 하나를 만들었지만 모든 테마에 대해 동일한 프로세스를 따를 수 있습니다.

먼저 테마에 사이드바가 등록된 파일을 찾습니다. 일반적으로 functions.php 파일이지만 테마에 따라 다를 수 있습니다.

파일을 열고 사이드바 코드에 대한 함수를 찾습니다. 일반적으로 register_sidebar 로 구성되며 전체 기능은 다음과 같습니다.

[php]

함수 27teen_widgets_init() {

register_sidebar(

정렬(

'이름' => __( '블로그 사이드바', 'twentyseventeen' ),

'id' => '사이드바-1',

'description' => __( '여기에 위젯을 추가하여 블로그 게시물 및 보관 페이지의 사이드바에 표시하세요.', 'twentyseventeen' ),

'before_widget' => '<섹션 id=”%1$s” 클래스=”위젯 %2$s”>',

'after_widget' => '</섹션>',

'before_title' => '<h2 class=”widget-title”>',

'after_title' => '</h2>',

)

);

register_sidebar(

정렬(

'name' => __( '바닥글 1', 'twentyseventeen' ),

'id' => '사이드바-2',

'description' => __( '바닥글에 표시할 위젯을 여기에 추가하세요.', 'twentyseventeen' ),

'before_widget' => '<섹션 id=”%1$s” 클래스=”위젯 %2$s”>',

'after_widget' => '</섹션>',

'before_title' => '<h2 class=”widget-title”>',

'after_title' => '</h2>',

)

);

register_sidebar(

정렬(

'이름' => __( '바닥글 2', 'twentyseventeen' ),

'id' => '사이드바-3',

'description' => __( '바닥글에 표시할 위젯을 여기에 추가하세요.', 'twentyseventeen' ),

'before_widget' => '<섹션 id=”%1$s” 클래스=”위젯 %2$s”>',

'after_widget' => '</섹션>',

'before_title' => '<h2 class=”widget-title”>',

'after_title' => '</h2>',

)

);

}

add_action( 'widgets_init', 'twentyseventeen_widgets_init' );

[/php]

이제 전체 함수를 복사하고 하위 테마에 functions.php 파일을 만들고(아직 없는 경우) 코드를 붙여넣습니다. 함수 이름을 변경했는지 확인하십시오.

생성해야 하는 추가 사이드바 수에 따라 동일한 코드를 복제하고 각 사이드바에 고유한 ID를 할당할 수 있습니다. 또한 이름과 설명을 각각 고유하게 변경해야 합니다. 여기에서 두 개의 새로운 사이드바를 만들었습니다.

[php]

함수 27teen_new_widgets_init() {

register_sidebar(

정렬(

'name' => __( 'WordPress 사이드바', 'twentyseventeen' ),

'id' => '사이드바-4',

'description' => __( '여기에 워드프레스 관련 블로그 게시물의 사이드바에 위젯을 추가하세요.', 'twentyseventeen' ),

'before_widget' => '<섹션 id=”%1$s” 클래스=”위젯 %2$s”>',

'after_widget' => '</섹션>',

'before_title' => '<h2 class=”widget-title”>',

'after_title' => '</h2>',

)

);

register_sidebar(

정렬(

'이름' => __( '웹 디자인 사이드바', 'twentyseventeen' ),

'id' => '사이드바-5',

'description' => __( '여기에 위젯을 추가하면 웹 디자인 관련 블로그 게시물의 사이드바에 표시됩니다.', 'twentyseventeen' ),

'before_widget' => '<섹션 id=”%1$s” 클래스=”위젯 %2$s”>',

'after_widget' => '</섹션>',

'before_title' => '<h2 class=”widget-title”>',

'after_title' => '</h2>',

)

);

}

add_action( 'widgets_init', 'twentyseventeen_new_widgets_init' );

[/php]

새로운 사이드바가 준비되었습니다. 위젯 섹션을 확인하면 두 개의 새로운 위젯 영역이 표시됩니다. 알아볼 수 있도록 각 사이드바에 간단한 텍스트 위젯을 추가했습니다.

wordpress 대시보드 wordpress 위젯 및 콘텐츠 선택기 및 여러 바닥글이 있는 다양한 사이드바

사이드바를 만들었으면 이제 위치를 지정할 차례입니다. 기존 오른쪽 사이드바를 교체할 예정이므로 파일이 있는 위치를 찾아야 합니다.

이 인스턴스의 경우 sidebar.php 에 있습니다. 상위 테마에서 파일을 복사하여 하위 테마에 붙여넣습니다.

파일을 확인해보면 메인 우측 사이드바의 id인 sidebar-1 을 호출하고 있습니다.

[php]

<aside id=”secondary” class=”widget-area” role=”complementary” aria-label=”<?php esc_attr_e( 'Blog Sidebar', 'twentyseventeen' ); ?>”>

<?php dynamic_sidebar( '사이드바-1' ); ?>

</aside>

[/php]

이제 웹 디자인 범주용 사이드바 하나와 WordPress 범주용 사이드바를 하나 만듭니다. 이는 두 가지 방법으로 달성할 수 있습니다. 하나는 템플릿 기반 접근 방식이고 다른 하나는 범주 기반 접근 방식입니다.

템플릿 기반 접근 방식

이 접근 방식에서는 요구 사항에 따라 다른 템플릿을 만들어야 합니다. 이 예에서는 single.php가 단일 게시물을 담당하므로 파일을 복사하여 자식 테마에 붙여넣을 수 있습니다. 그에 따라 wordpress-post.php 와 같이 파일 이름을 바꾸고 템플릿 이름도 추가합니다.

[php]

/* 템플릿 이름: 워드프레스 사이드바

* 템플릿 게시물 유형: 게시물*/

[/php]

마찬가지로 webdesign-post.php 라는 또 다른 템플릿을 만들었습니다.

로컬 파일에 wordpress-post 및 webdesign-post가 포함된 wordpress Twenseventeen 테마

이제 자식 테마의 sidebar.php 파일로 돌아가서 어떤 템플릿이 사용 중인지 확인하는 간단한 조건을 추가합니다. 이를 위해 is_page_template() 함수를 사용합니다.

코드는 자명합니다. 사용 중인 템플릿을 확인하고 그에 따라 사이드바를 설정합니다. 어떤 조건도 충족되지 않으면 기본 사이드바를 사용합니다.

[php]

<?php

if ( is_page_template('wordpress-post.php') ) {

dynamic_sidebar( '사이드바-4' );

}elseif ( is_page_template('webdesign-post.php') ){

dynamic_sidebar( '사이드바-5' );

}또 다른{

dynamic_sidebar( '사이드바-1' );

}

?>

[/php]

이제 새 게시물을 만들고 방금 만든 템플릿 중 하나를 할당해 보겠습니다.

다른 사이드바를 사용하여 워드프레스 게시물 속성 템플릿 편집

이 특정 게시물에 대해 WordPress 사이드바를 선택했음을 알 수 있습니다.

사이드바가 다른 라이브 게시물의 워드프레스 미리보기

범주 기반 접근 방식

이 예(게시물 범주에 따라 사이드바 변경)의 경우 범주 기반 접근 방식이 템플릿 기반 접근 방식보다 더 잘 작동합니다. 이렇게 하려면 in_category() 함수를 사용하여 템플릿 대신 범주를 기반으로 sidebar.php 에서 조건을 조정해야 합니다.

[php]

<?php

if ( in_category('워드프레스') ) {

dynamic_sidebar( '사이드바-4' );

}elseif ( in_category('웹 디자인') ){

dynamic_sidebar( '사이드바-5' );

}또 다른{

dynamic_sidebar( '사이드바-1' );

}

?>

[/php]

이제 새 게시물을 수정하거나 작성하는 경우 원하는 카테고리를 추가하기만 하면 됩니다. 그에 따라 사이드바가 표시되므로 템플릿을 선택할 필요가 없습니다! 여기에서는 내 게시물 카테고리로 웹 디자인을 선택했으므로 웹 디자인 사이드바가 나타납니다.

선택한 카테고리 웹 디자인을 기반으로 WordPress 사이드바 업데이트

기본적으로 특정 요구 사항에 따라 sidebar.php 조건을 조정하기만 하면 됩니다.

WordPress 플러그인으로 사용자 정의 사이드바를 만드는 방법

사이드바를 수동으로 생성하는 데 문제가 있는 경우 사이드바를 쉽게 생성할 수 있는 몇 가지 편리한 WordPress 플러그인을 사용해 볼 수 있습니다!

이러한 플러그인 중 하나는 Content Aware Sidebars입니다. 개별 페이지, 게시물, 카테고리 등에 사이드바를 동적으로 생성할 수 있는 간단한 플러그인입니다.

설치가 완료되면 관리자 패널에 사이드바 메뉴가 표시됩니다.

사이드바 > 새로 추가

워드프레스 사이드바 플러그인 옵션 새 사이드바 추가

먼저 사이드바에 이름을 추가합니다. 그런 다음 사이드바 조건 드롭다운에서 표시 조건을 설정할 수 있습니다. 사이드바는 페이지, 게시물, 카테고리, 작성자 등과 같은 여러 조건을 가질 수 있습니다.

내 사이드바 제안을 워드프레스 게시물 및 페이지에 대해 다른 사이드바 설정

일정 탭에서 사이드바를 예약하고 디자인 탭에서 HTML 태그를 변경할 수 있습니다.

오른쪽에 옵션 상자가 표시됩니다. 여기에서 새 사이드바의 위치와 규칙을 설정할 수 있습니다. 사이드바의 단축 코드 생성과 같은 작업을 수행할 수도 있습니다.

사이드바가 게시되면 모양 > 위젯 섹션에서 액세스할 수 있습니다.

모양 위젯 내 사이드바 옵션을 편집하여 게시물 및 페이지에 대해 다른 워드프레스 사이드바를 얻습니다.

이 새로운 사이드바는 설정에 따라 페이지와 게시물에 자동으로 나타납니다.

또한 플러그인을 사용하면 초기 설정에 관계없이 각 게시물이나 페이지를 편집할 때 사이드바를 선택할 수 있습니다.

게시물 또는 페이지 내에서 사이드바 – 빠른 선택 패널이 오른쪽에 표시되어 기존의 모든 사이드바를 보여줍니다. 여기에서 초기 설정에서 이전에 설정한 대상 위치에서 사이드바를 선택할 수 있습니다.

예를 들어 이전에 내 사이드바를 만들었고 대상 위치가 블로그 사이드바 였으므로 빠른 선택 패널에서 내 사이드바는 블로그 사이드바 에서만 사용할 수 있습니다.

게시물 및 페이지에 대한 빠른 선택 블로그 사이드바는 다른 워드프레스 사이드바를 얻습니다.

그러나 페이지 편집 섹션에서 새 사이드바를 만들 수도 있습니다. 새 사이드바의 이름을 입력하고 페이지를 게시하거나 업데이트하기만 하면 됩니다.

게시물 및 페이지를 기반으로 선택된 새로운 워드프레스 사이드바

새 사이드바를 만드는 경우 모양 > 위젯 섹션에서 활성화하기만 하면 됩니다.

WordPress 대시보드의 게시물 및 페이지에 대한 다른 사이드바에 대한 세부 정보

참고: 사이드바를 페이지에 할당할 수도 있지만 페이지 템플릿에 사이드바가 포함되어 있는지 확인하십시오. 그렇지 않으면 페이지 편집 섹션에서 설정해도 사이드바가 표시되지 않습니다.

결론

Flywheelers가 wordpress에서 게시물과 페이지에 대해 서로 다른 사이드바를 표시하는 방법을 서로 팀을 이루어

이제 사이드바를 만드는 두 가지 옵션인 수동 개발과 플러그인을 볼 수 있습니다. 코드에 익숙하지 않은 경우 플러그인을 사용하는 것이 최선의 선택일 수 있지만 특정 요구 사항이 있고 사이트에 추가 플러그인을 추가하고 싶지 않은 경우 수동 방법을 사용해야 합니다. . 중요한 것은 요구 사항을 이해한 다음 최상의 옵션을 선택하는 것입니다!