Короткий код не дает мне желаемого вывода в Wordpress

Код плагина

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-admin)

    [mycatlist cat=4]

Добавить приведенный ниже код в файл шаблона wordpress

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

Я получаю этот вывод Ничего не делать!

но я хочу получить значение кошки, я имею в виду 4


person thecodedeveloper.com    schedule 01.02.2013    source источник
comment
@Отметка. да пробовал, но не работает   -  person thecodedeveloper.com    schedule 01.02.2013
comment
Я не понимаю, зачем вам ob_ в этом коде. ::::: Что представляют собой Дай мне вывод и Нужен вывод? :::: Насколько я вижу, первый пример ([mycatlist cat=4]) имеет пустой вывод, а второй (do_shortcode("[mycatlist]")) должен выводить Do Nothing!...   -  person brasofilo    schedule 01.02.2013
comment
@brasofilo, пожалуйста, проверьте еще раз мой отредактированный вопрос   -  person thecodedeveloper.com    schedule 01.02.2013


Ответы (1)


Код, который вы разместили, содержит много кода, который не имеет ничего общего с вашим тестовым сценарием. Упростите это до этого:

 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 на вашей странице.

person Mark    schedule 01.02.2013
comment
Не тот код ‹?php echo do_shortcode([mycatlist cat=\4\]); ?› не работает для меня, потому что я использую этот код на странице шаблона, я использую эту страницу шаблона для большого количества страниц, когда я создаю страницу от администратора - person thecodedeveloper.com; 01.02.2013