2014-12-17 4 views
1

Я создал короткий код, в который я пытаюсь передать атрибут, но, похоже, я не получаю значение на другом конце.атрибуты shortcode wordpress не передаются

Вот что у меня внизу;

function list_display($atts) { 
     extract(shortcode_atts(
      array(
       'pageName' => 'No Page Received', 
      ), $atts) 
     ); 

    echo $pageName; 

    add_shortcode('list-briefings-display', 'list_display'); 
    } 

и шорткод используется в

 [list-display pageName="My Page Name"] 

и я бегу require_once от functions.php

require_once (TEMPLATEPATH. '/includes/list-display.php'); 

Но что я вижу на экране «Нет Принятая страница ', может ли кто-нибудь подумать о чем-то, что я, возможно, пропустил?

Сгенерировано больше контента с помощью короткого кода, который я не включил, это рендеринг. Так что это просто связано с тем, как я передал этот атрибут.

Любая помощь приветствуется.

ответ

0
function list_display($atts) { 
    $atts = shortcode_atts(array(
     'pagename' => 'No Page Received' 
    ), $atts); 
    extract($atts); 

    echo $pagename; 
} 

add_shortcode('list-display', 'list_display'); 

Вы, вероятно, хотите использовать «вернуться» вместо «эхо», если вы используете шорткод внутри страниц и постов .. Echo может вызвать его для отправки вывода на экран немного слишком рано и не будет точно там, где вы можете ожидать этого.

В вашем коде была небольшая проблема с форматированием, которую я исправил, в основном пытаюсь использовать add_shortcode() из той же самой функции, которую вы пытаетесь ссылаться. Я также изменил первый параметр add_shortcode() на короткий код, который вы пытались использовать в своем примере.

+0

Спасибо, Александр, переход на возвращение решил проблему. – Neil

Смежные вопросы