반응형
워드프레스의 카테고리명으로 LIKE를 사용하여 투고를 검색하는가?
- press basic 검색 필터를 커스터마이즈해야 합니다.
- 투고 제목과 투고 콘텐츠의 키워드에 대한 검색은 잘 되고 있습니다.
- 여기서 사용자가 카테고리 이름과 일치하는 이름을 입력하면 다른 결과뿐만 아니라 해당 카테고리에서 결과도 가져올 수 있는 결과를 보여줘야 합니다.
Tax Query에서 category_name 또는 category_in 연산자에 대해 LIKE 조항을 사용하는 것과 비슷하다고 생각합니다.
$sqs = get_sqs(array)'fields' => 'ids','post_type' => 'post','post_status' => 'post_status','syslog_per_page' => -1,'s' => $_REQUEST['s] ? ? $_REQUEST['s] : '','tax_timeout' => 어레이(배열()'분류학' => '분류학 이름','field' => 'field','like' => 'SLUG OF the Term', // LIKE(여기에는 LIKE 절 등이 있어야 함)),)));
이 시나리오를 실현하는 방법이란 사용자가 카테고리 이름과 일치하는 키워드를 입력하면 해당 카테고리의 모든 결과와 일반 검색 결과를 가져와야 함을 의미합니다.
예:검색바 사용자가 "ABC"라고 쓰고 "ABC Park"라는 이름의 카테고리가 있는 경우, 이 카테고리에서 결과를 가져와 "ABC"가 포함된 게시물 제목과 내용을 포함해야 합니다.
좋아요... 해결책을 생각해냈어요 테이블에서 모든 카테고리 ID를 가져왔어요terms
LIKE 쿼리가 있으면 다른 쿼리에서 이 배열을 카테고리 파라미터로 전달합니다.여기 암호가 있습니다.
$term_ids=array();
$cat_Args="SELECT * FROM $wpdb->terms WHERE name LIKE '%".$_REQUEST['s']."%' ";
$cats = $wpdb->get_results($cat_Args, OBJECT);
array_push($term_ids,$cats[0]->term_id);
$q1 = get_posts(array(
'fields' => 'ids',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
's' => $_REQUEST['s'] ? $_REQUEST['s'] : ''
));
$q2 = get_posts(array(
'fields' => 'ids',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
'category' =>$term_ids
));
$unique = array_unique( array_merge( $q1, $q2 ) );
$posts = get_posts(array(
'post_type' => 'post',
'post__in' => $unique,
'posts_per_page' => -1
));
if ($posts ) :
foreach( $posts as $post ) :
//show results
endforeach;
endif;
하지만 여전히 나는 더 최소적이고 정확한 방법을 원한다.:)
언급URL : https://stackoverflow.com/questions/43316457/how-to-search-posts-using-like-for-category-name-in-wordpress
반응형
'itsource' 카테고리의 다른 글
반응 재료의 값 가져오기-UI 자동 완성 (0) | 2023.03.18 |
---|---|
.json 파일을 로드하면 404개의 오류가 발생합니다. (0) | 2023.03.18 |
실행 중인 Oracle 클라이언트 버전을 확인하는 가장 좋은 방법은 무엇입니까? (0) | 2023.03.18 |
JObject에서 키별로 가치를 얻는 방법 (0) | 2023.03.13 |
Angular에서의 조건부 논리JS 템플릿 (0) | 2023.03.13 |