워드프레스 블로그 내부 검색를 구글 또는 네이버 검색엔진으로 보내는 방법
워드프레스 테마 마다 searchform.php를 제공하는 것도 있고 아닌것도 있다. 제공함에도 불구하고 해당 파일을 열어서 수정해보아도 해당파일를 사용하고 있지않고 다른곳에서 호출되어 사용되고 있어, 다음에 또 위치 찾는데 시간을 허비하고 싶지않아 기록해둔다.
GeneratePress 테마를 기준으로 설명된다.
generate_do_search_fields() 함수를 찾아서 변경해주면되는데 파일위치는 다음과 같다.
"/inc/structure/search-modal.php"
AS-IS
/**
* Add our search fields to the modal.
*/
function generate_do_search_fields() {
?>
<form role="search" method="get" class="search-modal-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label class="screen-reader-text"><?php echo apply_filters( 'generate_search_label', _x( 'Search for:', 'label', 'generatepress' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></label>
<div class="search-modal-fields">
<input type="search" class="search-field" placeholder="<?php echo esc_attr( apply_filters( 'generate_search_placeholder', _x( 'Search …', 'placeholder', 'generatepress' ) ) ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
<button aria-label="<?php echo esc_attr( apply_filters( 'generate_search_button', _x( 'Search', 'submit button', 'generatepress' ) ) ); ?>"><?php echo generate_get_svg_icon( 'search' ); // phpcs:ignore -- Escaped in function. ?></button>
</div>
<?php do_action( 'generate_inside_search_modal_form' ); ?>
</form>
<?php
}
TO-BE
혹시 모르니 기존함수는 이름을 변경해서 백업해두고 추가해주었다.
/**
* Add our search fields to the modal.
*/
function generate_do_search_fields_bak() {
?>
<form role="search" method="get" class="search-modal-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label class="screen-reader-text"><?php echo apply_filters( 'generate_search_label', _x( 'Search for:', 'label', 'generatepress' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></label>
<div class="search-modal-fields">
<input type="search" class="search-field" placeholder="<?php echo esc_attr( apply_filters( 'generate_search_placeholder', _x( 'Search …', 'placeholder', 'generatepress' ) ) ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
<button aria-label="<?php echo esc_attr( apply_filters( 'generate_search_button', _x( 'Search', 'submit button', 'generatepress' ) ) ); ?>"><?php echo generate_get_svg_icon( 'search' ); // phpcs:ignore -- Escaped in function. ?></button>
</div>
<?php do_action( 'generate_inside_search_modal_form' ); ?>
</form>
<?php
}
function generate_do_search_fields() {
?>
<form role="search" method="get" class="search-form" target="_blank" action="https://www.google.com/search">
<span class="screen-reader-text">Search for:</span>
<input type="hidden" name="sitesearch" value="playground.naragara.com">
<input type="search" class="search-field" placeholder="검색…" name="q">
<input type="submit" class="search-submit" value="Search">
</form>
<?php
}
네이버로 검색엔진을 변경하고 싶은경우에도 위와 동일하게 처리해주면된다. 구글주소대신 네이버 주소로 변경하면 됨!!