2013-02-01 2 views
0

짧은 코드

function myShortcode($atts) { 
    extract(shortcode_atts(array('cat' => '',), $atts)); 
    ob_start(); 
    if ($cat == '') { echo "Do Nothing!"; } 
    $output_string = ob_get_contents(); 
    ob_end_clean(); 
    return $output_string; 
} 
add_shortcode(mycatlist, myShortcode); 

이 (WP - 관리자에서 포스트 섹션에서) 게시물에 짧은 코드 아래에있는 추가 플러그인 코드

[mycatlist cat=4] 

아래 추가 내 워드 프레스에 출력을 원하는 포기하지 않을 WordPress 템플릿 파일의 코드

<?php echo do_shortcode("[mycatlist]"); ?> 

출력을 얻는 중 Do Nothing!

하지만 난 당신이 게시 한 코드가 테스트 시나리오와 함께 할 일이 많이하지를 가지고 코드를 많이 가지고 4

+0

@ 마크. 예, 시도했지만 작동하지 않습니다. –

+1

왜이 코드에서'ob_'가 필요한지 이해할 수 없습니다. ::::: "나에게 출력"* 및 "출력 필요"*는 무엇을 나타 냅니까? :::: 내가 볼 수있는 한, 첫 번째 예제 ('[mycatlist cat = 4]')에는 빈 출력이 있고'do_shortcode ("[mycatlist])')는'Do Nothing! '을 출력해야합니다. ... – brasofilo

+0

@brasofilo 내 편집 된 질문 –

답변

0

의미 고양이 가치를 얻을 싶어요. 이 그것을 단순화 :

function myShortcode($atts) { 

    // maybe add some debugging? 
    // print_r($atts); 

    extract(shortcode_atts(array('cat' => '',), $atts)); 
    return $cat; 
} 
add_shortcode('mycatlist', 'myShortcode'); 

지금과 같이 호출 :

<?php echo do_shortcode("[mycatlist cat=\"4\"]"); ?> 

그것은 당신의 페이지에 4를 인쇄해야합니다.

+0

감사합니다 @ 마크, 그 코드로 노력하고 있습니다 –

+0

그 코드 나를 위해 작동하지 않습니다. bcoz 저는 템플릿 페이지에서이 코드를 사용합니다. 저는 관리자가 페이지를 만들 때 템플릿 페이지를 많이 사용했습니다. –

관련 문제