2013-12-25 3 views
0

ПРИМЕЧАНИЕ: Благодаря HamZa на вопрос ответили, но вопрос заблокирован. Поэтому я цитирую ответ в последнем блоке кода в вопросе для быстрой ссылки.Текст ввода текста с помощью короткого кода Wordpress

Здравствуйте, я хотел бы сделать что-то вроде этого в WordPress:

[my_shortcode 'text1', 'text2', ... 'textn'] or something similar 

Желаемая выход что-то вроде этого ниже:

<span class="myclass">text1</span> 
    <span class="myclass">text2</span> 
    <span class="myclass">text3</span> 
    ..... 
    ..... 
    <span class="myclass">textn</span> 

Для многих, как текстовые элементы существуют в шорткодом. Их количество будет неизвестно.

Любые идеи, пожалуйста?

EDIT: До сих пор я opnly знаю, как это сделать

[my_shortcode]text1,text2....[/my_shortcode] 

add_shortcode('my_shortcode', 'my_shortcode_function'); 
function my_shortcode_function($atts, $content) { 
    return '<span class="myclass">'.$content.'</span>'; 
} 

, но она принимает все текстовые элементы, как один, конечно. Где-то я должен использовать массив, но я не знаю, как это сделать. Можно ли это сделать, если я не знаю количество текстовых элементов?

Правильный ответ

add_shortcode('my_shortcode', 'my_shortcode_function'); 
    function my_shortcode_function($atts, $content) { 
     $content_array = preg_split('~\s*,\s*~', $content); 
     $return_array = array(); 
     foreach($content_array as $arr){ 
       $return_array[] = '<span class="myclass">'.$arr.'</span>'; 
     } 
     return implode($return_array); 
    } 
+1

Крутые, поэтому там, где проблема? – HamZa

+0

Я не понимаю этого? Вы вытаскиваете это из БД с помощью wp_query? Если вам нужен цикл while ... Пожалуйста, объясните больше спасибо – Ljubisa

+0

Спасибо за интерес ваших парней. Текстовые элементы - это известные слова, которые нужно стилизовать. Каждый раз будут разные слова. Число слов неизвестно. Они не вытаскиваются из любого места, это пользовательский текст, который будет использоваться в коротком коде. Два примера: [my_shortcode 'word1', 'word2'], [my_shortcode 'word5', 'word6', 'word7'] На выходе каждое слово должно иметь тот же класс класса css. Проблема в том, что это будет мой первый короткий код, и я не знаю, как его реализовать. –

ответ

0

Попробуйте Shortcoder plugin это дает вам простой интерфейс для создания шорткоды

+0

Извините, но это не помогло. –

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