2014-03-05 64 views
0

我想使用PHP幫助器將短代碼發佈到我的WP頁面。這最終會包含變量,但現在我只想在頁面呈現時解析簡碼。使用PHP在Wordpress文章中編寫短代碼

我有下面的PHP其正確呈現一表我的網頁...

<? 
require_once('http://mywebsite.com/wp-load.php'); 

$therm_sponsor = "[thermometer raised=0 target=1000]"; 
$therm_expenses = "[thermometer raised=0 target=1000]"; 

echo '<table>'; 
echo '<tbody>'; 
echo '<tr align="center" valign="middle">'; 
echo "<td>". do_shortcode($therm_sponsor) ."</td>"; 
echo "<td>". do_shortcode($therm_expenses) ."</td>"; 
echo '</tr>'; 
echo '<tr align="center" valign="middle">'; 
echo '<td>Funds Raised </td>'; 
echo '<td>Expenses Covered </td>'; 
echo '</tr>'; 
echo '</tbody>'; 
echo '</table>'; 

?> 

那麼我這包括在我的崗位與插件簡碼Exec的,它本身使用簡碼,包括PHP在頁面正文。

但是,當我加載頁面時,我看到這個表格,其中包括上述兩個簡碼的文本版本。換句話說,php正確地輸出了html,但是包含的簡碼並不被wordpress視爲簡碼。

僅供參考這兩個簡碼是針對溫度計跟蹤捐贈的插件。

雖然這可能看起來像是一個迂迴的方式來做到這一點,但主要原因是我可以在以後使用php爲溫度計短碼添加動態變量。

爲清楚起見,這裏是我使用的步驟...

  • 包括PHP的幫助與PHP Exec插件
  • 呼叫,我用PHP Exec的簡碼
  • 頁面上加載頁面確實呈現我的HTML表格從PHP幫手,但表格中的兩個短代碼不會被看作WordPress的短代碼,並在文本呈現

我怎樣才能使第二層的短代碼pa rse通過Wordpress?

編輯:代碼已更新。錯誤Fatal error: Call to undefined function do_shortcode()

回答

2

如果我正確理解你的問題,比你需要的是這樣的: -

替換您的以下幾行這樣的: -

echo "<td>". do_shortcode($therm_sponsor) ."</td>"; 
echo "<td>". do_shortcode($therm_expenses) ."</td>"; 

這將根據您的簡碼做動作。 。


如果你的助手文件比你需要在你的最頂端添加require_once('YOUR_WORDPRESS_DIRECTORY_PATH/wp-load.php'); WordPress的外面,他LPER文件...

,包括您的助手此文件後,就可以使用WordPress的任何功能在您的幫助......

+0

謝謝:)但do_shortcode產生錯誤'致命錯誤:調用未定義的函數do_shortcode ()'。這是因爲我的PHP助手不在Wordpress生態系統中? –

+0

查看我的更新回答... –

+0

啊我很接近...我試圖包含functions.php。雖然當我像你說的那樣做時,我仍然得到功能錯誤。 –