我認爲我有點在我的頭上,但我有一個wordpress函數,我無法控制,它輸出HTML。從PHP函數存儲輸出
它具體輸出一個<a>
標籤。當我嘗試將該輸出存儲到變量中時,它只是將錨標記回顯出來,即使我以爲我存儲了輸出。
我跟一個知道更多關於此事的人交談,他們說這個功能可能使用了自己的輸出系統。
林想知道是否有一種方法來儲存功能輸出之前,它回聲了。像這樣(但是這不起作用):
$link = wp_function();
這個迴應出標籤並且不存儲數據。
我認爲我有點在我的頭上,但我有一個wordpress函數,我無法控制,它輸出HTML。從PHP函數存儲輸出
它具體輸出一個<a>
標籤。當我嘗試將該輸出存儲到變量中時,它只是將錨標記回顯出來,即使我以爲我存儲了輸出。
我跟一個知道更多關於此事的人交談,他們說這個功能可能使用了自己的輸出系統。
林想知道是否有一種方法來儲存功能輸出之前,它回聲了。像這樣(但是這不起作用):
$link = wp_function();
這個迴應出標籤並且不存儲數據。
<?php
ob_start();
wp_function();
$link = ob_get_contents();
ob_end_clean();
?>
WordPress的有兩種功能: -
所有大多數所有函數都以get_
作爲前綴以返回值。
例如the_title
只是輸出標題,而get_the_title
返回標題。
搜索功能是否有get_
版本可用並使用它們。
+1,因爲雖然它不能解決問題,但這並不意味着它不是解決問題的正確方法。希望這將在未來幫助其他人。 –
這是我正在使用的功能:http://codex.wordpress.org/Template_Tags/wp_list_categories –
@Nils R:看這裏http://codex.wordpress.org/Function_Reference/get_categories –
你應該能夠調用之前ob_start
您wp_function()
呼叫,然後使用ob_get_flush()
:
ob_start();
wp_function();
$link = ob_get_flush();
我看到ob_get_flush( )是返回字符串並關閉輸出緩衝的組合,但它與ob_get_contents()有什麼不同? ob_end_clean(); –
@Nils:不,它只是將兩者結合在一起。 –
這實際上並不像其他兩個函數那樣「捕捉」輸出。當我使用其他兩個函數時,它會捕獲輸出結果,然後我會對它進行一些操作和正則表達式操作,並將最終結果回顯出來。當我使用單個結束函數時,它仍然回顯原始函數以及我對它做的正則表達式。所以似乎有區別 –
您正在使用什麼功能究竟幫助嗎?
您是否嘗試過傳遞'echo'=> false參數?
我已經使用wp_nav_menu()函數的時候有這個問題,這個論點固定它:
$menu = wp_nav_menu('echo' => false);
什麼是你正在試圖用功能的確切名稱? –