Divi 검색 모듈은 기본적으로 표준 게시물 유형(게시물 및 페이지)과 함께 작동합니다. 제품과 같은 다른 유형이 검색되게 하려면 PHP 코드를 추가해야 합니다.
가장 먼저 Divi 업데이트 후에도 변경 사항이 유지되도록 Divi 자식 테마를 생성해야 합니다. 다음은 따라할 수 있는 자식 테마를 만드는 방법에 대한 매뉴얼입니다.
자식 테마를 만든 후에는 다음 코드를 자식 테마의 /functions.php
파일 맨 아래에 배치합니다.
function custom_remove_default_et_pb_custom_search() {
remove_action( 'pre_get_posts', 'et_pb_custom_search' );
add_action( 'pre_get_posts', 'custom_et_pb_custom_search' );
}
add_action( 'wp_loaded', 'custom_remove_default_et_pb_custom_search' );
function custom_et_pb_custom_search( $query = false ) {
if ( is_admin() || ! is_a( $query, 'WP_Query' ) || ! $query->is_search ) {
return;
}
if ( isset( $_GET['et_pb_searchform_submit'] ) ) {
$postTypes = array();
if ( ! isset($_GET['et_pb_include_posts'] ) && ! isset( $_GET['et_pb_include_pages'] ) ) {
$postTypes = array( 'post' );
}
if ( isset( $_GET['et_pb_include_pages'] ) ) {
$postTypes = array( 'page' );
}
if ( isset( $_GET['et_pb_include_posts'] ) ) {
$postTypes[] = 'post';
}
/* BEGIN Add custom post types */
$postTypes[] = 'product';
/* END Add custom post types */
$query->set( 'post_type', $postTypes );
if ( ! empty( $_GET['et_pb_search_cat'] ) ) {
$categories_array = explode( ',', $_GET['et_pb_search_cat'] );
$query->set( 'category__not_in', $categories_array );
}
if ( isset( $_GET['et-posts-count'] ) ) {
$query->set( 'posts_per_page', (int) $_GET['et-posts-count'] );
}
}
}
다른 유형을 검색 결과에 포함해야 하는 경우 코드의 이 부분을 편집할 수 있습니다.
/* BEGIN Add custom post types */
$postTypes[] = 'product';
/* END Add custom post types */
예를 들어 프로젝트 유형을 포함하려면 다음과 같이 코드를 변경합니다.
/* BEGIN Add custom post types */
$postTypes[] = 'product';
$postTypes[] = 'project';
/* END Add custom post types */
팁: 사용자 정의 유형의 슬러그는 일반적으로 해당 유형의 게시물을 열 때 URL에서, 또는 보기 버튼 위로 마우스를 이동할 때 관리자 화면에서 찾을 수 있습니다.
