Cách thiết lập các thanh bên khác nhau cho các kho lưu trữ và Trang trong Genesis

Tìm kiếm để hiển thị

  • một thanh bên tùy chỉnh cụ thể (vùng chứa khu vực tiện ích) cho các lưu trữ (Trang bài đăng, danh mục / thẻ / tác giả / kết quả tìm kiếm, v.v.) và các trang đăng blog đơn lẻ
  • widget của một sidebar tùy chỉnh khác trên các Trang tĩnh

trong vị trí Thanh bên chính của trang web Genesis của bạn?

Chỉ cần thêm phần sau vào functions.php của chủ đề con của bạn

// Register Blog Sidebar widget area
genesis_register_widget_area(
	array(
		'id'          => 'blog-sidebar',
		'name'        => __( 'Blog Sidebar', 'my-theme-text-domain' ),
		'description' => __( 'Primary sidebar for blog pages', 'my-theme-text-domain' ),
	)
);

// Register Page Sidebar widget area
genesis_register_widget_area(
	array(
		'id'          => 'page-sidebar',
		'name'        => __( 'Page Sidebar', 'my-theme-text-domain' ),
		'description' => __( 'Primary sidebar for static pages', 'my-theme-text-domain' ),
	)
);

add_action( 'genesis_after_header', 'sk_change_genesis_primary_sidebar' );
/**
 * Show custom sidebars in Primary Sidebar location for blog pages and static Pages
 */
function sk_change_genesis_primary_sidebar() {

	if ( ! is_singular() || is_single() ) { // for archives and single post pages
		// remove Primary Sidebar from the Primary Sidebar area
		remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );

		// show Blog Sidebar in Primary Sidebar area
		add_action( 'genesis_sidebar', function() {
			dynamic_sidebar( 'blog-sidebar' );
		} );
	}

	if ( is_page() ) { // for static Pages
		// remove Primary Sidebar from the Primary Sidebar area
		remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );

		// show Page Sidebar in Primary Sidebar area
		add_action( 'genesis_sidebar', function() {
			dynamic_sidebar( 'page-sidebar' );
		} );
	}

}

Bây giờ bạn sẽ tìm thấy hai thanh bên bổ sung tại Giao diện> Tiện ích, “Thanh bên blog” và “Thanh bên trang”. Kéo các widget mong muốn của bạn vào các widget này để chúng xuất hiện có điều kiện như được xác định trong đoạn mã trên.