Intereting Posts
Файлы шаблонов wordpress 3.4 в подкаталогах Как я могу посчитать сообщение, добавленное в поле отношений, отображение темы Связи админ-бар BuddyPress нарушены Добавить элемент в медиа-библиотеку из blob или dataUrl Показать одиночный виджет Как удалить файл, загруженный Plupload возникли проблемы с моим плагином сообщений в категории категорий Транспоз японского перевода не появляется При разбиении страницы на страницу с тегом <! – nextpage ->, как можно настроить индивидуальный и второй стили страниц? Я не могу получить доступ к моей странице администратора после изменения основного URL-адреса Запрос на несколько таксономий, извлеченных из массива флажков $ _GET, не работает? Ошибка 404 с пользовательскими типами сообщений и таксономией Зависимые сайты, зависящие от page.php, не работают в пользовательской теме woocommerce Репозиторий плагинов WPSE: плагины, которые вышли из WP-Answers Минималистическая тема для администратора WP 3

Могут ли короткие коды содержать условные утверждения? Даже без них мой shortcode отображает пустую страницу

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

Вот полный короткий код с условными утверждениями:

function info($atts, $content = null) { extract(shortcode_atts(array( "name" => '', "image" => '', "address" => '', "phone" => '', "email" => '', "website" => '', "description" => '', "amenities" => '' ), $atts)); return '<span class="sort">' if($image) { '<img src="'.$image.'" />'}' <span class="name">'.$name.'</span> <span class="details">' if($phone) { $phone } if($address) { '&bull; <a href="http://maps.google.com/?q='.$address.'" target="_blank">'.$address.' <img src="<?php bloginfo('template_directory'); ?>/_/images/mapmarker.png" width="16" height="16" alt="Map" /></a><br/>'} if($email) { '<a class="infomail" href="mailto:'.$email.'">Send Email</a>' } if($website) { '<a class="infosite" href="'$website'">Visit Website</a>' } if($description) { '<p class="infodetails">'.$description.'</p>' } if($amenities) { '<p class="amenities">'.$amenities.'</p>' } '</span> </span>'; } add_shortcode("info", "info"); 

Спасибо за ваши предложения!

ваш условный разрывает конкатенацию строк (в любом случае это не входит в ваш код)

попробуйте переписать этот раздел:

 function info($atts, $content = null) { extract(shortcode_atts(array( "name" => '', "image" => '', "address" => '', "phone" => '', "email" => '', "website" => '', "description" => '', "amenities" => '' ), $atts)); $output = '<span class="sort">'; if($image) { $output .= '<img src="'.$image.'" />';} $output .= '<span class="name">'.$name.'</span> <span class="details">'; if($phone) { $output .= $phone; } if($address) { $output .= ' &bull; <a href="http://maps.google.com/?q='.$address.'" target="_blank">'.$address.' <img src="' . get_bloginfo('template_directory') . '/_/images/mapmarker.png" width="16" height="16" alt="Map" /></a><br/>'; } if($email) { $output .= ' <a class="infomail" href="mailto:'.$email.'">Send Email</a>'; } if($website) { $output .= ' <a class="infosite" href="'.$website.'">Visit Website</a>'; } if($description) { $output .= '<p class="infodetails">'.$description.'</p>'; } if($amenities) { $output .= '<p class="amenities">'.$amenities.'</p>'; } $output .= '</span> </span>'; return $output; } add_shortcode("info", "info");