의 모든 게시물을 수정합니다.워드 프레스 단축 코드 필터링 the_content 나는 다음과 같은 코드를 플러그인을 작성하고있을거야 목록
문제는 게시물 목록이 표시 될 때입니다 (예 : 카테고리보기 사용시). 의 내용이 모두 바뀌 었습니다. 단축키가있는 게시물뿐만 아니라의 게시물이 모두 표시됩니다. 그것은 단지 코드
의 모든 게시물을 수정합니다.워드 프레스 단축 코드 필터링 the_content 나는 다음과 같은 코드를 플러그인을 작성하고있을거야 목록
문제는 게시물 목록이 표시 될 때입니다 (예 : 카테고리보기 사용시). 의 내용이 모두 바뀌 었습니다. 단축키가있는 게시물뿐만 아니라의 게시물이 모두 표시됩니다. 그것은 단지 코드
안녕하세요 heres 솔루션은 짧은 코드 후크를 사용하지 않지만 콘텐츠에서 검색합니다.
function content_custom_shortcode($content) {
// Search for shortcode
$shortcode = 'test';
preg_match('/\['.$shortcode.'\]/s', $content, $matches);
// If custom shortcode exists return custom content else return content
if (in_array('['.$shortcode.']', $matches)) return "<p style='color:red'>extra content</p>";
else return $content;
}
add_filter('the_content','content_custom_shortcode',20);
코드를 보내 주셔서 감사합니다,하지만이 일을 얻을 수 없습니다. [test] 단축 코드가 내용에 표시됩니다. 'test'단축 코드가 add_shortcode() 함수에 추가되지 않았기 때문입니까? – BillyTheFish
Ive가 지금 테스트를 마쳤습니다. 그냥 [test] 문자열을 검색하고 사용자 정의 콘텐트를 돌려줍니다. 그렇지 않으면 콘텐트를 반환합니다. 이 올바른지? – ptimson
환상적입니다. 당신의 인내심에 대해 v 많은 감사합니다 :) – BillyTheFish
언제든지 당신이 게시물의 목록을 표시하고 그 중 하나가 당신이 때문에 표시되는 모든 다음 게시물이 변경됩니다 만든 단축 코드가 포함되어 필터 그래서 그것을 변경하는 방법
어떤 아이디어 the_content
에 추가했습니다. 모든 반복에서 실행됩니다. The Loop. 필터를 제거하면 예상대로 작동합니다.
이 당신이 <p>
태그 [test]
및 [/test]
와 서라운드 내용 바꿈됩니다 : 당신이에서 변수 {$content}
을 변경 대체 텍스트와 게시물의 내용을 모두 바꾸려면
add_shortcode('test','testfunc');
function testfunc($atts, $content=NULL){
return "<p style='color:red'>{$content}</p>";
}
을 위의 예를 원하는 텍스트로 변경하십시오. 게시물 콘텐츠를 [test]
및 [/test]
으로 감쌀 필요가 있습니다.
shortcodes의 WordPress Codex 항목에는 매우 비슷한 예가 있습니다.
내 대답은 당신이 shortcode 태그를 가지고있는 곳에 "여분의 콘텐츠"를 추가하고 싶다고 가정합니다. 그것이 당신이 원하는 것이 아니라면 코드가하기를 원하는 것을 명확하게하고 내 대답을 업데이트 할 수 있습니다. – vvanasten
아 맞습니다. 정확히 맞고 질문에 대답하지만, 실제로 짧은 코드가 나타나는 게시물의 전체 내용을 대체하려고합니다 (따라서 내가 필터를 사용하는 이유). 달성 가능합니까? ... 내 orignal 질문에 내 내용 기능을 업데이 트했습니다 ,,, – BillyTheFish
@ BillyTheFish 귀하의 질문에 변화를 반영하기 위해 내 대답을 업데이 트했습니다. – vvanasten
귀하의 shortcode [test]는 컨텐츠의 끝에 빨간색으로 내용을 추가하기위한 것입니까? 하지만 귀하의 게시물에 짧은 코드가 없더라도이 작업을 수행합니까? – ptimson
설명 : 게시물/페이지의 전체 콘텐츠를 내 콘텐츠로 대체하려고합니다. 약간 원래의 질문을 업데이 트했습니다 ... – BillyTheFish
아아, 나는 그것이 작동하지 않는 이유는 필터가 the_content hook이 호출 된 후에 추가되었다고 생각합니다. 내가 해결책을 생각할 수 있는지 아프다! – ptimson