>CMS 튜토리얼 >Word누르다 >WordPress 사이트에 고급 검색을 추가하는 방법

WordPress 사이트에 고급 검색을 추가하는 방법

Lisa Kudrow
Lisa Kudrow원래의
2025-02-20 12:07:08266검색

How to Add an Advanced Search to Your WordPress Site

WordPress 사이트에 고급 검색을 추가하는 방법 키 테이크 아웃

WordPress 검색 양식은 WordPress Core 내에서 다른 매개 변수를 사용하여 기본 쿼리 스트링 매개 변수 'S'를 넘어 향상 될 수 있습니다. 검색 결과는 각각 각각의 슬러그를 'category_name'또는 'tag'매개 변수로 전달하여 카테고리 또는 태그로 개선 할 수 있습니다. 플러그인 없이도 수행 할 수 있습니다 Advanced Search는 PHP 배열 매개 변수를 사용하여 여러 값으로 추가로 개선 할 수 있으며, 이는 WordPress 테마의 functions.php 파일에 가로 채고 설정할 수 있습니다. 이를 통해 사용자는보다 집중된 검색을 위해 여러 개의 태그를 선택할 수 있습니다.
    WordPress 검색 양식의 대부분은 'S'라는 단일 쿼리 스트링 매개 변수를 설정합니다.
  • 그것에 아무런 문제가 없으며 수년 동안 유일한 옵션이라고 생각했습니다. 그러나 플러그인의 도움 없이는 더 많은 고급 쿼리가 가능합니다 (많이 사용 가능하지만). WordPress Core 내에서 응용 프로그램은 다른 여러 쿼리 스트링 매개 변수를 파싱하고이를 사용하여보다 집중된 검색 결과를 반환합니다. 매개 변수 이름을 나열하는 몇 가지 기본 문서가 있습니다.
  • 첨부 파일 attachment_id
  • 저자 author_name
  • 고양이 카테고리 _name
comments_popup
<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&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</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>
    day
  • 오류
  • 피드 시간
  • m
  • 분 monthnum
  • 이름 p page_id
  • PAGED pagename post_parent

    post_type

  • 미리보기
  • 두 번째
  • 정적 서브 포스트 <_ _> subpost_id
  • 태그 tag_id
  • tb
  • w
  • year
나는이 모든 작업이 예상대로 확신하지 못하고 일부는 약간 무의미하지만 WP_Query로 전달할 수있는 매개 변수와 일치합니다. 따라서 옵션을 자동화하기 위해 HTML을 사용하여 HTML을 사용하여 고급 검색 양식을 만들 수 있습니다. 카테고리별로 검색을 개선하십시오 슬러그를 카테고리 _name 매개 변수로 전달하여 결과를 범주로 제한 할 수 있습니다 (예 :

당사의 검색 양식은 사용자가 검색을 특정 범주로 개선 할 수 있습니다.

모든 카테고리를 나열하려면 사이에 다음 코드를 추가하십시오. 태그 :
<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&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</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>
태그로 검색을 개선하십시오 검색 결과는 슬러그를 태그 매개 변수로 전달하여 태그로 제한 될 수 있습니다 (예 :
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&hellip;"</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&hellip;"</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&hellip;"</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의 검색 결과가 발생합니다. 이를 통해 페이지 당 표시 할 게시물 수를 지정하여 검색 결과 수를 효과적으로 제한 할 수 있습니다.

위 내용은 WordPress 사이트에 고급 검색을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.