2016-09-23 75 views
0

我創建了一個基本腳本,以編程方式在Wordpress中創建一個新帖子。該帖子的標題包含一個&符號,當該腳本從瀏覽器運行時,標題將被正確存儲。如果腳本從命令行運行,'&'被替換爲特殊字符'amp;'當我進入WordPress的管理和查看帖子。&在PHP CLI(命令行)腳本中轉換爲&

我該如何避免這種情況發生?

以下腳本:

$my_post = array(
'post_type'  => 'post', 
'post_title' => wp_strip_all_tags('Test & Go'), 
'post_status' => 'pending', 
'post_author' => 1 
); 

$post_id = wp_insert_post($my_post); 

回答

0

&是一個符號特殊字符。 wp_strip_all_tags函數正在導致這種情況發生。如果刪除它,則&符號將正確發佈。

+0

只是試圖消除wp_strip_all_tags和轉產爲「POST_TITLE」 =>「測試與圍棋'並且腳本具有相同的結果。 – user2562674

+0

有趣。我基於我的PHP知識而不是我對WordPress的知識(很少)的回答。我的下一個想法是找到帖子的顯示位置並使用str_replace。就像這樣: '$ myTitle = str_replace(「&」,「&」,$ myTitle);' – PL200

+0

同樣的結果恐怕 – user2562674

0

添加一個if語句來檢查,如果腳本被稱爲CLI或沒有,如果要是沒有CLI中使用&,使用&