ВОПРОС
Всем привет. Не буду долго рассказывать, но мне нужно, чтобы на моем сайте WordPress исправно работала эта функция:
$var = get_template_part( ‘loop’, ‘index’ );
Смотрите, она должна возвращать HTML, но вместо этого она выводит его. Мне нужно, чтобы код сохранялся в $var. У вас есть какие-нибудь идеи по этому поводу? Я будут очень благодарен, если кто-нибудь сможет помочь мне.
ОТВЕТ
Привет. Скажу тебе так – ты не совсем правильно используешь get_template_part. Она предназначена немного для других целей. То есть, фактически эта функция должна работать так же, как и require PHP.
В твоем случае более полезной будет locate_template. Но если же ты все-таки хочешь использовать тот способ, который указал, то попробуй применить буферизацию шаблона. Ты должен прописать вот это:
function load_template_part($template_name, $part_name=null) {
ob_start();
get_template_part($template_name, $part_name);
$var = ob_get_contents();
ob_end_clean();
return $var;
}
Думаю, ты сможешь разобраться со своей проблемой.