2017-09-02 72 views
-2

下面的代碼在公共頁面上調用時返回一個文本,並在管理頁面上調用時返回一個空字符串。爲什麼do_shortcode()在公共頁面上運行良好,但不能在管理頁面上運行?

error_log(do_shortcode($sc)); 

爲什麼會發生?有解決方案嗎?

Shortcode: [amazon-element asin="B01F2JQ8NQ" fields="full-image_clean" container=""] 

這來自「郵件插件中的亞馬遜產品」。

+0

如果您提供了值$ sc和短代碼函數,這將非常有幫助。你的問題沒有提供足夠的信息來真正解決問題。 – user8262086

+0

你現在擁有它! –

+0

這個問題可能是在短代碼'amazon-element'的實現中。你可以提供嗎? – user8262086

回答

1

一般do_shortcode()從管理頁面起作用。但是,管理員和非管理員的環境是完全不同的。特別是在管理環境中未調用的非管理環境中調用了許多操作。這可能是短代碼「亞馬遜元素」在某種程度上依賴於非管理環境中的某些東西。

請嘗試另一個簡碼(例如圖庫),您將看到do_shortcode()至少在某些簡碼中可以在管理頁面上工作。

順便提一下,'amazon-element'的短代碼函數被調用並返回一個空字符串。如果未被調用,do_shortcode的參數將不會被返回。

+0

對不起,您在哪裏看到「調用'amazon-element'的短代碼函數並返回空字符串」? –

+0

如果do_shortcode()在全局$ shortcode_tags中找不到短代碼,則返回其參數不變。在「... \ wp-includes \ shortcodes.php」中查看它的實現。 – user8262086

+0

那麼如何解決呢? –

相關問題