總之,我需要的是讓我的WordPress做的WordPress:節省`get_template_part()`變量
$var = get_template_part('loop', 'index');
但是,get_template_part()
不會返回HTML,它打印它。
我需要這個HTML存儲在$var
- 你有什麼想法如何做到這一點?
總之,我需要的是讓我的WordPress做的WordPress:節省`get_template_part()`變量
$var = get_template_part('loop', 'index');
但是,get_template_part()
不會返回HTML,它打印它。
我需要這個HTML存儲在$var
- 你有什麼想法如何做到這一點?
這不是get_template_part
是爲,get_template_part行爲基本上像PHP的需要的功能。 Justin Tadlock writes a lot more about this here並且還談到了一個可能對您更有用的Wordpress功能 - locate_template
。
另外,如果你是想破解使用get_template_part此功能,您可以使用模板緩衝:
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;
}
當我把這個在我的主題,我只得到培根,而不是文件的內容....:回聲「培根」。 load_template_part( '註冊-form.php的'); – helgatheviking 2011-05-06 22:23:47
我不確定Atomicus在哪裏說他們想要文字未處理的PHP,get_template_part充當包含而不是文件內容獲取者。 – 2011-05-08 15:54:39
應該回應說你是對的這完全有效,我給錯誤的信息提供給函數(添加.php)。
怎麼樣?
$file = file_get_contents(STYLESHEETPATH . '/template-part.php');
return $file;
我敢肯定有更好的辦法,但這似乎對我有效。
我不愛輸出緩衝,雖然+1甚至想到,作爲一個選項!
我覺得海爾格是要發生什麼,但你需要還是尊重child_themes和主題的路徑,所以使用locate_template(),而不是(也西蒙建議)。
這很好,甚至可以用在一個過濾器或(在我的情況下)短代碼功能(我想我的短代碼輸出模板樣式文件內的內容,將顯示層與邏輯層分開) 。
return file_get_contents(locate_template("template-file-name.php")); // don't forget the .php!
你會在以後打印呢?我的意思是'$ var'。 – ewroman 2014-12-14 22:32:49