사용자 정의 게시물 유형으로 add_filter를 사용하여 _content에 추가하는 방법은 무엇입니까?


9

맞춤 게시물 유형이 정상적으로 실행되고 있지만 페이지의 일부 텍스트는 모든 게시물에 대해 동일하므로 함수를 사용하여 추가하고 싶습니다.

나는 이것을 설정했다 :

function new_default_content($content) {
global $post;
    if ($post->post_type == 'custom-post-type') {
    $content = 'Test text here';
    }
    return $content;
    }
add_filter('the_content', 'new_default_content');

그러나 페이지를 새로 고치면 게시물의 내용이 아닌 "_text에서"텍스트 테스트 "만 표시됩니다.

이 기능을 주석 처리하면 게시물 내용이 다시 나타납니다. 내가 무엇을 잘못하고 있지?

답변:


8

내용을 추가하는 대신 완전히 덮어 씁니다. $content .= 'Test text here';대신에 뭔가를해야 합니다.


그 기간 동안 많은 힘, 감사합니다! 또 다른 질문 : 플러그인을 사용하여 Like, +1 등의 소셜 버튼을 표시하고 새로운 기본 콘텐츠 위에 표시됩니다. 버튼을 아래에 표시하는 방법이 있습니까? 이 필터는 하나의 완전한 섹션으로 the_content & new_default_content를 "청크"한다고 가정했습니다.
George C

1
글쎄, 당신은 새로운 내용을 추가하고 있으므로 나중에 나타날 것입니다. 플러그인이 동일한 필터를 사용하고 있으므로 플러그인보다 필터를 처리하기 위해 우선 순위가 높은 필터를 연결하려고 시도 할 수 있습니다.
helenhousandi

아, 우선 순위를 살펴 보겠습니다. 다시 한 번 감사드립니다!
George C

참고로 나는 우선 순위로 놀았으며 그 트릭을 수행했습니다! 다시 한번 감사드립니다 :)
George C

-1

간단한 방법으로`

               if ($post->post_type == 'custom-post-type') {
                   $new_content= 'Test text here';
                                }
                       return $content.$new_content;

코드 만 좋은 품질의 답변으로 간주되지 않습니다. 코드의 기능과 질문에 어떻게 대답하는지 설명해야합니다. 이런 식으로 코딩에 익숙하지 않은 독자는 귀하의 답변을 이해할 것입니다. 코드를 설명 할 수 있습니까?
cybmeta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.