ПРИМЕЧАНИЕ: Благодаря 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);
}
Крутые, поэтому там, где проблема? – HamZa
Я не понимаю этого? Вы вытаскиваете это из БД с помощью wp_query? Если вам нужен цикл while ... Пожалуйста, объясните больше спасибо – Ljubisa
Спасибо за интерес ваших парней. Текстовые элементы - это известные слова, которые нужно стилизовать. Каждый раз будут разные слова. Число слов неизвестно. Они не вытаскиваются из любого места, это пользовательский текст, который будет использоваться в коротком коде. Два примера: [my_shortcode 'word1', 'word2'], [my_shortcode 'word5', 'word6', 'word7'] На выходе каждое слово должно иметь тот же класс класса css. Проблема в том, что это будет мой первый короткий код, и я не знаю, как его реализовать. –