👋 들어가며
안녕하세요 퍼블리셔 한상현입니다.
인프라
현대아이티 사이트를 제작하게되었습니다. 시작하기전에 자주사용하는 방법을 도식화하였습니다.
기존 다른 프로젝트처럼 NCP에서 인스턴스한대에 docker-compose
로 설정하려하였지만 NCP를 이용하는데 번거로움과 관리가 어렵다하셔서 kinsta로 알아봤습니다. 그런데 kinsta에서 roots/sage 테마가 재대로 동작하지 않아서 다른 대안을 찾았다.
vultr에서 배포하는 것으로 결정 ubuntu 인스턴스에 traefik + wordpress로 배포완료.
깃헙 저장소에서 테마 관련된 것들만 빌드 rsync로 배포하는 ci/cd 구축
도메인이전
hdit.co.kr
도메인을 메인으로 사용. 해서 임시로 프로젝트를 배포하고 hyundaiit.com
으로 자연스럽게 마이그레이션하는 방법으로 프로덕션을 배포하였습니다.
검색
처음에 커스텀 검색을 PHP일일이 구성하다가 Search & filter pro + Relevanssi pro
플러그인 구성으로 변경하였다.
서치 관련 구성을 정리하고 실제 사용하는쪽에서
<div x-init="console.log('search')" class="[&_*]:w-full [&_input]:min-h-[50px]">
{!! do_shortcode('[searchandfilter id="2223"]') !!}
</div>
Code language: JavaScript (javascript)
사용부쪽
// 컨트롤러쪽
// search & filter pro
// 검색결과 분류
add_action( 'pre_get_posts', function ( $query ) {
if (
$query->is_main_query()
&& is_archive()
&& !is_admin()
) {
if (isset(get_queried_object()->has_archive) && get_queried_object()->has_archive == 'support/faq') {
$query->set("search_filter_id", 2222);
}
}
});
Code language: PHP (php)
컨트롤러에서 main 쿼를 override하는 코드를 추가해서 pagination
post
모두 잘 작동하도록 만들었다.