Я использую шорткод для извлечения разных циклов через loops-name.php. По какой-то причине это всегда вверху страницы. Я гуглил его, и использование echo вместо return вызывает эту проблему, но с моим кодом я не использую echo. Вот короткий код:
// setup the shortcode for use
function friendly_loop_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'category' => '',
'module' => ''
), $atts ) );
include(locate_template('loop-'.$module.'.php'));
}
Есть идеи, почему это происходит?
Шорткод для включения файла? Я нахожу это немного странным.
—
Rutwick Gangurde
'с моим кодом я не использую echo' - файлы loop-module.php отражают или возвращают свой вывод?
—
Майкл
На данный момент нет - в файле просто есть тег абзаца с надписью «test», чтобы я мог видеть, как он работает.
—
Джон Джо
используйте
—
Том Дж. Новелл
get_template_part('loop',$module)
вместо этого, это красивее, быстрее набирать текст, поддерживает родительские / дочерние темы, и это рекомендуемый метод включения шаблонов в WordPress (да, locate_template может делать некоторые из этих вещей, но посмотрите, насколько он менее читабелен!)
Возможный дубликат Результат короткого кода появляется ДО содержимого страницы
—
Чип Беннетт