WordPress에서 검색 쿼리와 일치하는 게시물을 프로그래밍 방식으로 가져오는 방법은 무엇입니까?
내 플러그인 코드에서 다음을 수행합니다.WP_Query
(또는 유사) 사용자가 WordPress 검색 양식에 동일한 문자열을 입력한 것처럼 지정된 쿼리 문자열과 일치하는 모든 게시물을 반환합니다.아마도 나는 단지 우둔한 것일지도 모르지만, 그렇게 할 방법을 찾을 수 없을 것 같다.에 대한 특별한 파라미터가 필요합니다.WP_Query
,예를 들어matching
하지만 증거가 없어요
WordPress 코드베이스를 살펴보고 사내에서 어떻게 동작하고 있는지 확인하고 답을 찾으면 여기에 올리겠습니다.누군가 바로 알 수 있을 것 같아서요
"s" 쿼리 변수 전달WP_Query
검색어를 사용하여 게시 결과를 검색어로 필터링합니다.
$query_args = array( 's' => 'disquiet' );
$query = new WP_Query( $query_args );
대응하는 SQLWHERE
이 쿼리에 의해 생성된 절은 다음과 같습니다.
AND (((wp_posts.post_title LIKE '%disquiet%') OR (wp_posts.post_content LIKE '%disquiet%')))
기본 검색에는 위와 같은 와일드카드가 포함되며, 이는 사용자가 찾고 있는 와일드카드일 가능성이 높습니다.정확한 검색을 원하는 경우 다음 쿼리 변수를 전달할 수도 있습니다."exact" => true
.
상세한 것에 대하여는, 을 참조해 주세요.get_posts
의 방법WP_Query
wp-syslog/syslog.syslog로 설정합니다.
플러그인에서 다음을 사용합니다.
$query = new WP_Query(array(
'post_type' => 'any',
'suppress_filters' => TRUE,
'posts_per_page' => '-1'
));
foreach ($query->posts as $post) {
// ...
}
post_type
커스텀 포스트 타입으로 작업하는 경우에 필요합니다. suppress_filters
는, 분석을 실시할 필요가 있는 경우, 컨텐츠의 포맷을 금지합니다. posts_per_page
는 페이지당 기본값이 아닌 모든 투고를 반환합니다.
이런 거?
// Check the query variable is available
if(!$wp_query) global $wp_query; // If not, global it so it can be read from
// Your custom args
$args = array( 'the_title' => $search_term );
// Merge the custom args with any for the query already
$args = array_merge( $args , $wp_query->query );
// Now do the query
query_posts( $args );
또는 다음과 같은 방법을 사용할 수 있습니다.
$query = array (
'the_title' => $search_term
);
$queryObject = new WP_Query($query);
// The Loop...
지금 보고 계신 건 이거겠죠?compare
$args = array(
'post_type' => 'product',
'meta_query' => array(
array(
'key' => 'color',
'value' => 'blue',
'compare' => 'LIKE'
)
)
);
compare (string) - Operator to test. Possible values are '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. Default value is '='.
이것은 검색을 하는 더 간단하고 쉬운 방법입니다.
$query = "
SELECT *
FROM $wpdb->posts
WHERE $wpdb->posts.post_title LIKE '$param2%'
AND $wpdb->posts.post_type = 'wp_exposants'
ORDER BY $wpdb->posts.post_title ";
$wpdb->get_results($query);
언급URL : https://stackoverflow.com/questions/9961192/how-to-programmatically-fetch-posts-matching-a-search-query-in-wordpress
'source' 카테고리의 다른 글
이름 또는 슬래그로 WooCommerce 제품 카테고리의 ID를 가져옵니다. (0) | 2023.03.27 |
---|---|
여러 열을 여러 변수로 선택 (0) | 2023.03.27 |
리액트 훅 + WebSockets의 올바른 사용 방법 (0) | 2023.03.27 |
절약, HTTP RPC(JSON+gzip)가 아닌 이유 (0) | 2023.03.27 |
Reacjs 프로젝트 구축 후 불투명도 값이 1%로 변경됨 (0) | 2023.03.27 |