Cách làm cho các trang Nhóm và Thành viên BuddyPress tuân theo cài đặt bố cục Trang của họ trong Genesis

Trong cuộc trò chuyện Genesis Slack, một người dùng đã hỏi,

Có ai có một số mã nằm xung quanh đó làm cho các trang BuddyPress thực sự tôn trọng lựa chọn bố cục nguồn gốc không?

Chúng ta có thể sử dụng mã từ Cách làm cho trang Bài đăng tuân theo cài đặt Bố cục trang của nó trong bài viết Genesis và điều chỉnh nó để bố cục được chọn cho trang Thành viên (được tạo tự động khi BuddyPress được kích hoạt) ở phía sau được áp dụng cho nó trong giao diện người dùng .

Thêm phần sau vào functions.php của chủ đề con :

/**
 * Make BuddyPress Members page obey its Page layout setting
 */
add_filter( 'genesis_pre_get_option_site_layout', 'sk_do_members_page_layout' );
function sk_do_members_page_layout( $opt ) {

	// if the current page is not the members directory, abort.
	if ( ! bp_is_members_directory() ) {
		return;
	}

	// get the list of BuddyPress pages from wp_options table
	$page_array = get_option( 'bp-pages' );

	$opt = get_post_meta( $page_array['members'], '_genesis_layout', true ); // where $page_array['members'] is the ID of BuddyPress Members page

	return $opt;

}