태그로 검색을 개선하십시오
검색 결과는 슬러그를 태그 매개 변수로 전달하여 태그로 제한 될 수 있습니다 (예 :
http://yoursite.com/?s=search+term&category_name=kittens
따라서 검색에서 결과는 특정 태그로 결과를 제한 할 수 있습니다 (예 :
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select</span> name<span>="category_name"</span>></span>
</span><span><span><span><option</span> value<span>=""</span>></span>all categories<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="kittens"</span>></span>cute kittens<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="puppies"</span>></span>adorable puppies<span><span></option</span>></span>
</span><span><span><span></select</span>></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
마찬가지로 선택 필드에 대한 모든 태그 목록을 생성 할 수 있습니다.
고급 검색 발전
여러 값으로 검색을 개선하려면 어떻게해야합니까? 예를 들어, 사용자는 두 개 이상의 태그를 선택할 수 있으며 결과 페이지에는 모두 설정해야합니다. URL 매개 변수를 사용하여이를 달성 할 수는 없지만 HTML 검색 양식을 정의하여 시작하겠습니다.
<span><span><?php
</span></span><span><span>// generate list of categories
</span></span><span><span>$categories = get_categories();
</span></span><span><span>foreach ($categories as $category) {
</span></span><span> <span>echo '<option value="', $category->slug, '">', $category->name, "</option>\n";
</span></span><span><span>}
</span></span><span><span>?></span></span>
Taglist라는 PHP 배열 매개 변수를 사용했습니다.
. WordPress가 이미 예약 한 이름 이외의 이름을 사용할 수 있습니다 (위의 목록 참조).
이제 WordPress 테마의 functions.php 파일에서 검색 제출을 가로 챌 수 있습니다. advanced_search_query 함수는 검색이 활성화되어 있는지 여부를 감지 한 다음 wp_query tag_slug__ 및 그에 따라 매개 변수를 설정합니다.
http://yoursite.com/?s=search+term&tag=cockroach
마지막으로 쿼리가 실행되기 전에 pre_get_posts 액션 후크를 사용하여 advanced_search_query 함수를 실행합니다.
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select</span> name<span>="tag"</span>></span>
</span><span><span><span><option</span> value<span>=""</span>></span>any tag<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="cockroach"</span>></span>cockroaches<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="snake"</span>></span>snakes<span><span></option</span>></span>
</span><span><span><span></select</span>></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
WordPress에 고급 검색 시설을 추가하는 것은 놀랍도록 쉽지만 개발자는 가능하다는 것을 인식 할 수는 거의 없습니다. 아마도 문서와 예제가 약간 드문 이기 때문일 수 있습니다. 우연히 발견 했으므로이 코드가 다음 WordPress 프로젝트에서 유용하다는 것을 알기를 바랍니다.
WordPress의 고급 검색에서 자주 묻는 질문
WordPress에서 검색 결과를 사용자 정의 할 수 있습니까?
WP_Query 클래스를 사용하여 WordPress에서 검색 결과를 사용자 정의 할 수 있습니다. 이 클래스를 사용하면 특정 매개 변수를 정의하여 검색 결과를 조정할 수 있습니다. 예를 들어, 게시물 제목 내에서만 검색 할 매개 변수를 설정하거나 특정 게시물 유형을 제외하거나 사용자 정의 필드 내에서 검색 할 수 있습니다. 고급 검색 사용자 정의 옵션을 제공하는 SearchWP와 같은 플러그인을 사용할 수도 있습니다. <span><span><?php
</span></span><span><span>// generate list of tags
</span></span><span><span>$tags = get_tags();
</span></span><span><span>foreach ($tags as $tag) {
</span></span><span> <span>echo '<option value="', $tag->slug, '">', $tag->name, "</option>\n";
</span></span><span><span>}
</span></span><span><span>?></span></span>
태그를 사용하여 WordPress에서 검색 결과를 향상시킬 수 있습니까? <span><span><span><form</span> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><p</span>></span>Refine search to posts containing chosen tags:<span><span></p</span>></span>
</span><span><span><?php
</span></span><span><span>// generate list of tags
</span></span><span><span>$tags = get_tags();
</span></span><span><span>foreach ($tags as $tag) {
</span></span><span> <span>echo
</span></span><span> <span>'<label>',
</span></span><span> <span>'<input type="checkbox" name="taglist[]" value="', $tag->slug, '" /> ',
</span></span><span> <span>$tag->name,
</span></span><span> <span>"</label>\n";
</span></span><span><span>}
</span></span><span><span>?></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
<span>// advanced search functionality
</span><span>function advanced_search_query($query) {
</span>
<span>if($query->is_search()) {
</span>
<span>// tag search
</span> <span>if (isset($_GET['taglist']) && is_array($_GET['taglist'])) {
</span> <span>$query->set('tag_slug__and', $_GET['taglist']);
</span> <span>}
</span>
<span>return $query;
</span> <span>}
</span>
<span>}</span>
예, 태그는 WordPress에서 검색 결과를 크게 향상시킬 수 있습니다. get_the_tags () 함수를 사용하면 특정 게시물과 관련된 태그를 검색 할 수 있습니다. 이는보다 세련된 검색 경험을 만들 때 사용하여 사용자가 특정 태그가있는 게시물을 검색 할 수 있습니다. WordPress에서 검색 쿼리 매개 변수를 변경하려면 'Query_Vars'필터를 사용하여 WordPress의 검색 쿼리 매개 변수를 변경할 수 있습니다. 이를 통해 기본 'S'매개 변수를 귀하의 요구에보다 특정한 것으로 변경할 수 있습니다. 예를 들어 URL을보다 사용자 친화적으로 만들기 위해 'search_term'으로 변경할 수 있습니다. WordPress의 wp_Query는 무엇입니까?
WP_Query는 WordPress의 클래스입니다. 쿼리 및 루프. 게시물 유형, 카테고리, 태그, 저자 등과 같은 쿼리를 사용자 정의하는 데 사용할 수있는 다양한 매개 변수를 제공합니다. 이것은 고급 검색 기능을 만드는 강력한 도구입니다.
WordPress에서 검색 결과에서 특정 게시물 유형을 어떻게 제외 할 수 있습니까?
검색 결과에서 특정 게시물 유형을 제외하여 ''를 사용하여 수행 할 수 있습니다. wp_query 클래스와 함께 pre_get_posts의 액션 후크. 검색 결과에 포함하려는 Post 유형의 배열로 'Post_Type'매개 변수를 다른 모든 것을 제외 할 수 있습니다. WordPress의 사용자 정의 필드 내에서 검색 할 수 있습니까?
. 예, WP_Query의 'Meta_Query'매개 변수를 사용하여 WordPress의 사용자 정의 필드 내에서 검색 할 수 있습니다. 이를 통해 사용자 정의 필드 키 및 값을 지정하고 이러한 기준과 일치하는 게시물을 반환 할 수 있습니다. WordPress에서 검색 기능을 향상시키는 방법
WordPress에서 검색 기능 향상을 달성 할 수 있습니다. SearchWP, Alternssi 또는 Ajax Search Pro와 같은 플러그인을 사용하여. 이 플러그인은 부분 일치, 키워드 스템밍 및 검색 가중치와 같은 고급 검색 기능을 제공하여 더 나은 사용자 경험을 제공합니다. 플러그인없이 WordPress에서 검색 양식을 만들 수 있습니까? get_search_form () 함수를 사용하여 플러그인없이 WordPress에서 검색 양식을 만들 수 있습니다. 이 함수는 검색 양식에 대한 HTML을 생성합니다.이 기능은 귀하의 요구에 맞게 사용자 정의 할 수 있습니다.
WordPress에 검색 쿼리를 표시하는 방법?
검색 쿼리는 검색 쿼리를 WordPress를 사용하여 표시 할 수 있습니다. get_search_query () 함수 이 함수는 검색 쿼리 문자열을 검색하고 검색 결과 페이지에 검색어를 표시하는 데 사용될 수 있습니다. WordPress에서 검색 결과 수를 제한 할 수 있습니까?
예, 제한 할 수 있습니다. WP_Query에서 'Posts_per_Page'매개 변수를 사용하여 WordPress의 검색 결과가 발생합니다. 이를 통해 페이지 당 표시 할 게시물 수를 지정하여 검색 결과 수를 효과적으로 제한 할 수 있습니다.