Intereting Posts
Laravel 4, jQuery .ajax, Нет сообщений, полученных Публикация изображения base64 на php-сервер в android как я могу создать систему тегов с использованием php и mysql? Codeigniter: фатальная ошибка возникает при использовании функции base_url () для определения константы в файле "application / config / constants.php" Что означает * в регулярном выражении в PHP? Создание динамической таблицы с использованием php на основе входных данных пользователей загрузите текстовый файл вместо открытия в браузере Как связать разные таблицы стилей для разных файлов include php PHP Docblocks – Объяснение массива Использование WebSocket на сервере Apache Нарушение целостности Mysql / PDO Duplicate Primary – хотя ничего уже в таблице Yahoo Имя пользователя Regex Как я могу избежать index.php из URL-адреса в codelgniter Предупреждение: Заголовок может содержать не более одного заголовка, обнаружена новая строка PHP cURL proxy С заголовком?

Почему мой короткий код выполняется перед другим контентом?

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

<img class="alignnone" title="title_enquires" src="http://localhost/barcelona/wp-content/uploads/2011/08/title_enquires.jpg" alt="" width="589" height="77" /> <img class="alignnone" title="contact_map" src="http://localhost/barcelona/wp-content/uploads/2011/08/contact_map.jpg" alt="" width="555" height="222" /> [barcelona_address] 

Вот моя короткая регистрация кода внутри файла function.php:

 <?php add_shortcode( 'barcelona_address', 'barcelona_shortcode_handler' ); function barcelona_address_func() { print "<p>sdsdsds</p>"; } function barcelona_shortcode_handler( $atts, $content=null, $code="" ) { if (function_exists($code . "_func")) { call_user_func($code . "_func", $atts); } } ?> 

И результат:

 <p>sdsdsds</p> <img class="alignnone" title="title_enquires" src="http://localhost/barcelona/wp-content/uploads/2011/08/title_enquires.jpg" alt="" width="589" height="77" /> <img class="alignnone" title="contact_map" src="http://localhost/barcelona/wp-content/uploads/2011/08/contact_map.jpg" alt="" width="555" height="222" /> 

Предполагается, что ваш обработчик короткого кода вернет вывод для отображения вместо короткого кода, а не выводит что-либо сам.

http://codex.wordpress.org/Shortcode_API

Вы можете использовать в качестве альтернативы:

 ob_start(); ...your code... return ob_get_clean(); 

и используйте без возврата html как строку.