유튜브 프레임 자동 크기 조절하는 부분 삽질하고 있다가 이상한점을 발견했음.
add_filter('the_content', 'youtube_wrapper'); function youtube_wrapper($content) { ... return $content; }
이 함수가 두번씩 호출되는것이였다. 꽤 오랜시간 삽질을 했는데 왜 그런지는 잘 모르겠고 검색을 해보니 테마에 따라서 혹은 플러그인에 따라서 여러번 호출될수도 있다 라는 댓글들을 봤음.
나는 왜 두번 호출되는가 이래저래 삽질하다가 워드프레스 레퍼런스 페이지에 이유가 나와있는걸 봤음.
나의 경우에는 오픈그래프 작성하는 함수에서 get_the_excerpt()을 호출하면서 발생했는데 아마도 본문 요약내용을 가져오면서 다시 한번 루프가 돌은거 같음.
add_filter('the_content', 'youtube_wrapper'); function youtube_wrapper($content){ //중복호출 방지용 if(!is_singular()){return $content;} if(!in_the_loop()){return $content;} if(!is_main_query()){return $content;} //여기서부터 작업 ... ... ... return $content; }
아무튼 오늘의 교훈은 레퍼런스를 꼭 확인하자 임.
답글 남기기