상현에 하루하루

현대아이티

( 업데이트: )

👋 들어가며

안녕하세요 퍼블리셔 한상현입니다.

인프라

현대아이티 사이트를 제작하게되었습니다. 시작하기전에 자주사용하는 방법을 도식화하였습니다.

기존 다른 프로젝트처럼 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 모두 잘 작동하도록 만들었다.