當編輯器添加wordpress [快捷代碼]時
在帖子或頁面上,它被插件函數或主題函數中的處理程序函數的返回輸出所取代。讓我們創建一個簡單的例子:
// create a styled button
function ContactButton($params, $content = null) {
extract(shortcode_atts(array(
'url' => '/contact-us',
'type' => 'style1'
), $params));
return
'<a href="' . $url . '" >' . ucwords($content) . '</a>';
}
add_shortcode('button','ContactButton');
登入後複製
當頁面或帖子中遇到以下代碼時:
[button]contact us today[/button]
登入後複製
它將翻譯成:
<a href="/contact-us" >Contact Us Today</a>
登入後複製
編輯的工作變得更加容易,他們不必擔心學習HTML。讓我們看另一個創建一個簡單的呼叫框的示例:
// callout box
function CalloutBox($params, $content = null) {
extract(shortcode_atts(array(
'type' => 'style1'
), $params));
return
'<aside >' . $content . '</aside>';
}
add_shortcode('callout','CalloutBox');
登入後複製
但是,如果我們的編輯想在他們的標註框中插入一個按鈕怎麼辦? …
[callout]For more information [button]contact us today[/button][/callout]
登入後複製
就目前而言,當前代碼將失敗。首先調用標註框函數,但內部[按鈕]不會相應地翻譯。
解決問題的關鍵功能是do_shortcode() - 它將WordPress的短代碼過濾器應用於任何內容。在這種情況下,我們希望允許編輯器在我們的[顧問]中添加一個[按鈕],因此我們將相應地修改呼叫箱的返回語句:
return
'<aside >' .
do_shortcode($content) .
'</aside>';
登入後複製
上面的嵌套代碼現在可以按預期工作。但是,不允許編輯器在[按鈕]中嵌套[註釋]。像這樣的靈活性使WordPress成為一種樂趣 - 現在可以使用3.3版。
>關於WordPress嵌套短號
的常見問題
> WordPress中的嵌套短號是什麼?它們允許您將一個快速代碼作為屬性或另一個快捷代碼的內容區域內。當您想在WordPress站點上創建複雜的內容結構或功能而無需編寫廣泛的HTML或PHP代碼時,這可能特別有用。
>如何在WordPress中創建一個嵌套的短代碼? >要在WordPress中創建一個嵌套的短代碼,首先需要在主題的functions.php文件或自定義插件中定義父和子修復代碼。父折疊碼應具有可以接受子快點的輸出的屬性。兒童短代碼應返回其輸出,而不是直接打印。這樣,輸出可以傳遞給父折疊代碼。
為什麼我的嵌套短代碼無法正常工作?
可能有幾個原因為什麼您的嵌套短代碼不起作用。一個常見的原因是,兒童短代碼直接打印其輸出而不是返回。另一個原因可能是,未正確設置父折疊代碼來接受子折疊碼的輸出。也可能與另一個插件或主題發生衝突。
>
>我可以在短代碼屬性中使用短代碼嗎?但是,這需要您的簡編函數中的特定設置。父折疊碼功能需要在包含嵌套短碼的屬性上使用do_shortCode函數。
>
>我如何調試我的嵌套短代碼?
可以通過檢查輸出來完成嵌套的短代碼每個短代碼分別。您還可以使用可用於WordPress的各種調試工具,例如Debug bar插件,它可以提供有關短代碼的有用信息。
我可以在自身中嵌套相同的快捷代碼嗎?可以在自身中嵌套相同的短代碼,從而創建遞歸快捷代碼。但是,這應該謹慎進行,因為如果無法正確控制,它可能會導致無限循環。
>
>使用嵌套的短號有限制嗎?靈活性,它們還可以使您的代碼更加複雜和難以維護。同樣重要的是要注意,並非所有的主題或插件都可以支持嵌套的短代碼。
我可以使用具有任何WordPress主題的嵌套短代碼嗎?但是,短代碼的具體功能將取決於主題或插件中定義的功能。
>
>我如何設置嵌套的短碼的輸出?使用CSS進行樣式。您可以在短代碼輸出中添加自定義類,然後在CSS中使用這些類以應用所需的樣式。
>我可以在帖子和頁面中使用嵌套的短代碼嗎?在您的帖子和頁面中使用嵌套的短代碼。您也可以在小部件中使用它們,只要您的主題或插件支持小部件中的短代碼。
以上是如何在WordPress中創建嵌套短號的詳細內容。更多資訊請關注PHP中文網其他相關文章!