Intereting Posts
Отображение сообщений в зависимости от количества комментариев и последних комментариев? Когда использовать 'get_category_by_path' против 'get_term_by', чтобы получить объект категории из `get_query_var ('category_name')`? Экспорт портфеля с картинками Отладка «Объект класса WP_Query не может быть преобразован в ошибку int» Руководство с петлей для CMS Загрузка мультимедиа в пользовательскую базу данных и пользовательский каталог Получить динамическое имя шаблона категории добавление Google Analytics через эхо или между тегами <php> Как исправить ошибку фида? Поиск не отображает все результаты Добавить комментарий в поле для каждого опубликованного комментария с помощью SQL Проблема Taxonomy.php с поиском и фильтрами PHP – перенаправление https на http и www на не-www Отображать сообщение администратора только на главной странице панели мониторинга Проверьте, установлен ли Favicon в Настройке

Как форматировать HTML-код короткого кода во внешнем файле

Мне нужно добавить короткий код в моей теме, и я хотел бы поместить код HTML не в функцию, которая создает короткий код, а в файл шаблона в моем каталоге тем.

Теперь у меня есть

function wpse450_show_video( $atts ) { extract(shortcode_atts(array( 'id' => 0 ), $atts )); if( is_numeric($id) ) { $ngvideo_title = get_the_title($id); } return '<div>'.$ngvideo_title.'</div>'; } add_shortcode( 'ngvideo', 'wpse450_show_video' ); 

Я хотел бы добавить материал <div>'.$ngvideo_title.'</div> во внешний файл.

Как это сделать?

 function wpse450_show_video( $atts ) { extract(shortcode_atts(array( 'id' => 0 ), $atts )); if( is_numeric($id) ) { $ngvideo_title = get_the_title($id); } ob_start(); include 'path/to/file/video.php'; return ob_get_clean(); } add_shortcode( 'ngvideo', 'wpse450_show_video' ); 

Вы можете использовать $ id, $ atts в нашем файле, как и в вашей функции. Код в вашем файле будет вести себя так же, как и в вашей функции, только с одной разницей, что вам придется эхо-материал вместо того, чтобы возвращать его, как и для вашей функции