Intereting Posts
Получение аккордеона Bootstrap, работающего в цикле WordPress с настраиваемым типом сообщения (проблема с распадом) Различные ленты WordPress для одного и того же блога Ограничить доступ к разделу без словаря сайта с ролями пользователя? Как вызвать диспетчер медиатеки WP3.5? пользовательские типы сообщений, wp_get_archives и add_rewrite_rule 3 блогов на одном сайте с тем же заголовком? Что случилось с менеджером средств массовой информации? Ошибка разрешений Существующий логин для изменения ссылки на выход в подменю Помощь в получении ранее посещенных страниц ID Преобразование html в wordpress изображения, не показывающие Есть ли способ изменить get_attachment_link, чтобы вместо этого получить ссылку на ссылку ссылки на галерею ссылок? Как включить / импортировать пользовательский виджет из родительской темы в тему «Мой ребенок»? Uncaught ReferenceError: jQuery не определен. Как правильно определить его? Сделать категории таксономии для детей используйте шаблон набора

Как вернуть строку с переменной внутри в коротком коде?

$output = '<p class="one"><small>'.$newsletter_one. '</small></p>' 

Обычно, когда мы пишем короткие коды, мы публикуем HTML, как и выше, и вместо функции возврата echo возвращаем функцию.

Как мы должны писать это →

 <span class="class2" id="class3-<?php echo $random;?>"> </span> 

Как это →

 $output = '<span class="class2" id="class3-.$random."> </span>' 

или это имеет некоторые недостатки?

Solutions Collecting From Web of "Как вернуть строку с переменной внутри в коротком коде?"

Когда вы хотите вернуть данные в сочетании со строкой, вы можете использовать один из следующих способов:

Либо откройте и закройте строку, используя ' :

 return '<span class="class2" id="class3-' . $random . '"> </span>'; 

Или используйте двойную кавычку:

 return "<span class='class2' id='class3-{$random}'> </span>"; 

Вы можете просто использовать $random без {} фигурных скобок, но читать их легче, если вы используете {} .

Вы даже можете использовать двойные кавычки для внутренней строки, но вам нужно избегать их:

 return "<span class=\"class2\" id=\"class3-{$random}\"> </span>"; 

Как указано в комментариях @birgire, чтобы сделать его более WordPressy, мы также можем избежать переменной:

 return sprintf( '<span class="class2" id="class3-%s"></span>', esc_attr( $random ) ); 

В дополнение к ответу Джека Йоханссона (я бы добавил комментарий к этому, но, похоже, мне нужно было больше времени, чтобы сделать это, чем опубликовать мой собственный ответ!) Я не думаю, что вам даже нужны внутренние двойные кавычки. AFAICT (я – сравнительно недавний PHP-программист), вы могли бы просто написать

 return "<span class='class2' id='class3-{$random}'> </span>"; 

и это будет работать так же хорошо.