Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

워드프레스 Contact Form 7 에 네이버 프리미엄 로그 적용하기

2020-07-30 by 편리

워드프레스로 제작된 사이트가 있고 견적문의를 위해 Contact Form 7 플러그인을 적용한 상태이다. 네이버 프리미엄 로그를 설치하여 전환 추적을 하기 위해 스크립트 추가가 필요한 상황이었는데 Contact Form 7 문의 처리가 AJAX로 처리되니까 페이지 이동이 없어 스크립트 추가에 어려움이 있다. 견적문의 완료 후 알림창이 표시되는 스크립트를 별도로 추가했었기에 그 부분에 로그 관련 스크립트를 추가해서 테스트를 했지만 정상적이지 않아 네이버 프리미엄 로그팀의 도움을 받아 코드를 수정한 후 정상 작동하는 것을 확인했다.

기존 Contact Form 7 플러그인에서 적용하는 scripts.js 파일을 수정하게 되면 플러그인 업데이트 때 수정된 코드가 삭제될 위험이 있어 Child 테마를 사용하는 환경이었기 때문에 해당 테마에서 수정된 파일을 로드하도록 하는 게 필요했다. scripts.js 파일을 로드하는 코드는 plugins/contact-form-7/includes/controller.php 파일에 있다.

	wp_enqueue_script( 'contact-form-7',
		wpcf7_plugin_url( 'includes/js/scripts.js' ),
		array( 'jquery' ), WPCF7_VERSION, $in_footer );

contact-form-7 부분을 확인 한 후 사용 중인 테마의 functions.php 파일에 아래의 코드로 플로그인에서 로드하는 scripts.js 파일이 적용되지 않도록 한다. r관련 전체 코드는 포스트 마지막에 남기겠다.

wp_dequeue_script( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );

네이버 프리미엄 로그 공통 스크립트는 Header and Footer Scripts 플러그인을 사용해 아래와 같이 적용했다.

다음으로 Contact Form 7 플러그인의 scripts.js 파일을 테마 폴더에 복사한다. 파일명은 contact-form-7-scripts.js 등과 같이 한다. 이 파일에 네이버 전환추적을 위한 코드를 아래와 같이 추가한다. 대략 310 라인 근처이다.

			if ( 'mail_sent' == data.status ) {
				$form.each( function() {
					this.reset();
        } );
        // naver
        if (typeof(wcs)!="undefined") {
          var _nasa={};
          _nasa["cnv"] = wcs.cnv("4","1");
          wcs_do(_nasa); //전송구문 추가설치
        }
				wpcf7.toggleSubmit( $form );
			}

이제 테마의 functions.php 파일에 플러그인에서 로드 한 파일을 제거하고 수정한 파일을 대신 로드하도록 하는 코드를 추가해준다.

add_filter( 'wp_enqueue_scripts', 'contact_form_7_dequeue_scripts', 9 );
function contact_form_7_dequeue_scripts() {
    wp_dequeue_script( 'contact-form-7' );
    wp_deregister_script( 'contact-form-7' );
    wp_enqueue_script('contact-form-7',  get_stylesheet_directory_uri() . '/contact-form-7-scripts.js', array('jquery'), '1.1.5', true);
}

플러그인의 스크립트 파일이 로드되지 않고 수정 추가한 스크립트 파일이 로드되는지 확인한다.

Post navigation

Previous Post:

[JS] 모바일 크롬브라우저 당겨서 새로고침 끄기

Next Post:

Apache 서버의 Cache 적용하지 않기

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • SK 세븐모바일 유심 셀프교체
  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes