_content 및 사용자 정의 게시물 유형 전후에 콘텐츠를 추가하는 방법
게시 됨: 2020-01-09WordPress 사이트 페이지 및 게시물에서 페이지 콘텐츠 또는 게시물 콘텐츠 뒤에 일부 콘텐츠를 추가할 수 있습니다. 이러한 콘텐츠는 모든 페이지나 게시물 또는 둘 다 또는 사용자 지정 게시물 유형에 걸쳐 필요할 수 있습니다. 이러한 경우 WordPress 테마 또는 플러그인의 페이지 템플릿에서 the_content 함수 전후에 콘텐츠를 추가하는 필터를 사용해야 합니다. 운 좋게도 오늘은 사이트를 손상시키지 않고 이 작업을 수행할 수 있는 가장 간단한 방법을 설명하겠습니다.
콘텐츠 게시 후 추가할 콘텐츠의 예
좋은 예는 방문자와 제휴사 공개 또는 댓글 정책에 대한 빠른 메모를 공유하려는 경우입니다.
게시물이나 페이지를 게시할 때마다 이 콘텐츠를 입력하는 대신 필터를 사용하여 자동으로 완료할 수 있습니다.
이러한 종류의 콘텐츠를 추가해야 할 때마다 시간을 절약할 수 있을 뿐만 아니라 오타를 방지할 수 있습니다. WordPress 개발자가 아닌 경우 이 스니펫을 functions.php 파일 에 쉽게 추가하고 콘텐츠를 해당 콘텐츠로 바꿀 수 있습니다. 앞으로는 걱정하지 않으셔도 됩니다.
WordPress의 페이지 또는 게시물 콘텐츠 뒤에 콘텐츠 추가
WordPress 테마를 만들거나 WordPress 테마를 사용자 정의할 때 _content 끝에 콘텐츠를 추가해야 할 수 있습니다. 각 게시물 끝에 추가해야 하는 특정 세부 정보가 있는 사용자 정의 메타 필드 또는 사용자 정의 게시물 유형을 사용할 때 특히 일반적입니다.
get_post_meta , get_user_meta 또는 get_option 을 사용하여 특정 게시물이나 사용자가 _content 함수 뒤에 추가되기 전에 저장된 데이터를 가져올 수 있습니다.
_content 뒤에 내용을 추가해야 하는 몇 가지 상황이 있습니다. _content 뒤에 내용을 추가하는 방법을 차근차근 시연하여 여러분께 쉽게 알려드리고자 합니다.
새 콘텐츠를 추가하기 위해 _content 뒤에 필터링 후크
분명히 WordPress 페이지에 콘텐츠를 추가하려면 필터 후크가 작동하는 방식을 이해해야 합니다. 이상적으로 WordPress에는 이 게시물에서 명확하게 설명된 두 가지 유형의 작업 후크와 필터가 있습니다.
따라서 페이지의 콘텐츠를 필터링한 다음 출력을 반환하기 전에 새 콘텐츠를 추가하는 필터가 필요합니다.
WordPress에서 _content 뒤에 콘텐츠 추가
먼저 다음과 같이 필터를 만들어야 합니다.
add_filter('the_content', 'add_content_after');
콜백 함수는 이제 _content 뒤에 추가하려는 코드를 포함해야 합니다. 콜백 함수에 $content 매개변수도 전달하여 필터링하고 반환해야 합니다.
기능 add_content_after($content) { $after_content = "댓글 정책의 예"; $fullcontent = $content . $after_content; $fullcontent 반환; }
따라서 이 경우 $after_content 를 추가하고 아래 이미지와 같이 표시됩니다.
코드의 $after_content 값을 메시지로 바꾸고 functions.php에 전체 스니펫을 추가하면 내용 뒤에 내용이 추가됩니다. 결합된 코드 조각은 다음과 같습니다.
add_filter('the_content', 'add_content_after'); 기능 add_content_after($content) { $after_content = "콘텐츠 게시 후 댓글 정책의 예"; $fullcontent = $content . $after_content; $fullcontent 반환; }
WordPress 페이지 또는 게시물의 the_content 앞에 콘텐츠 추가
경우에 따라 _content 전에 내용을 추가할 수 있습니다. 예를 들어, 최근에 애완 동물 웹사이트를 구축할 때 아래 이미지와 같이 콘텐츠가 표시되기 전에 개 품종의 세부 정보를 나열해야 했습니다.
이 프로젝트에서는 다른 접근 방식을 사용했지만_content 전에 콘텐츠를 표시해야 하는 경우 위에서 공유한 필터를 계속 사용하게 되며 유일한 차이점은 $fullcontent 변수 에 조인할 때입니다.
이 경우 아래와 같이 먼저 표시할 콘텐츠로 시작합니다.
add_filter('the_content', 'add_content_before'); 기능 add_content_before($content) { $before_content = "콘텐츠 게시 전 댓글 정책의 예"; $fullcontent = $before_content . $콘텐츠 ; $fullcontent 반환; }
출력은 아래 이미지에서 강조 표시된 대로 표시되어야 합니다.
WordPress 페이지 또는 게시물의 the_content 전후에 콘텐츠 추가
또한 _content 전후에 콘텐츠를 표시하려는 결합된 시나리오를 가질 수 있으며 이는 다음 코드로 달성할 수 있습니다.
add_filter('the_content', ' add_content_before_and_after); 기능 add_content_before_and_after($content) { $before_content = "게시물 전후의 댓글 정책 예시"; $after_content = "게시물 전후의 댓글 정책 예시"; $fullcontent = $before_content . $콘텐츠 . $after_content; $fullcontent 반환; }
출력은 아래 이미지에서 강조 표시된 대로 표시되어야 합니다.
_content 전후 및 사용자 정의 게시물 유형에 콘텐츠 추가
특정 사용자 지정 게시물 유형에 대해 이 콘텐츠만 추가하려는 경우 사용자 지정 게시물 유형을 보고 있는지 여부를 결정하는 몇 가지 로직을 추가할 수 있습니다. 그렇다면 콘텐츠를 추가하면 기본 _content가 반환됩니다.
이 경우 사용자 정의 게시물 유형의 이름이 'books' 인 경우 코드는 다음과 같아야 합니다.
//특정 사용자 정의 게시물 유형 페이지 템플릿에 새 콘텐츠를 추가하는 4단계 add_filter('the_content', 'add_new_content_after_books_custom_post_type'); 기능 add_new_content_after_books_custom_post_type($content) { //1) 우리가 단일 게시물에 있고 게시물 유형이 책과 같은지 확인합니다(예: 사용자 정의 게시물 유형의 슬러그). if (is_singular("책")){ //2) 새로운 내용을 변수에 추가 $new_books_content = "도서 사용자 정의 게시물 유형 다음에 추가할 새 책 콘텐츠입니다." $aftercontent = $new_books_content; $fullcontent = $content . $애프터컨텐츠; //3) 조건이 true인 경우 사용자 정의 게시물 유형에 대한 첫 번째 시간을 반환합니다. $fullcontent 반환; }또 다른{ //4) 이것이 책이 아닌 다른 페이지 또는 게시물인 경우 cpt는 추가 콘텐츠 없이 기본 the_content를 반환합니다. $content 반환; } }
마무리
이 게시물에서 설명했듯이 _content 이후 또는 그 이전에 콘텐츠를 추가하는 것은 힘든 작업이 되어서는 안 됩니다. 코드 스니펫을 테마 functions.php 파일에 빠르게 복사할 수 있으며 제대로 작동해야 합니다.
전문 WordPress 개발자로서 WordPress 작업 후크, 특히 필터 후크에 대해 자세히 알아보는 것이 도움이 될 수 있습니다. 이 튜토리얼이 유용하고 동료 개발자 및 친구들과 공유하기를 바랍니다.