2013-12-18 24 views
0

我使用has_shortcode()來檢測短代碼,它的工作原理,但根本沒有。如果我將這個指定的短代碼放入另一個代碼中,has_shortcode()函數將停止工作。WordPress的:has_shortcode() - 如何檢測嵌套的短代碼

has_shortcode($post->post_content, 'slider') 

例如:

[2col] //left column 
[slider] 
[2col_next] //right column 
[slider] 
[/2col] 

has_shortcode()功能將無法在這種情況下工作,但如果我使用簡碼[slider]沒有[2col]它可以完美運行。這是指每個短代碼。我很確定我的短代碼沒有問題。

回答

2

剛纔正在尋找解決方案。如果其他人還在尋找它,然後它已經在這裏找到答案:

https://wordpress.stackexchange.com/questions/126563/has-shortcode-how-to-detect-nested-shortcode

的情況下,上面的鏈接的

返工翻譯它將被分解:

function is_shortcode_active() { 
     global $post; 

     if (strpos($post->post_content, '[shortcode')) { 
      return true; 
     } 

     return false; 
    } 

我改變了一點從原來的鏈接的答案。我剛剛使用了$post對象而不是其他功能,並且我還在開啓支架後將/刪除,並完全離開了關閉支架。離開結束括號的原因是,如果您正在尋找用戶可能已添加屬性的短代碼 - 如果]在那裏,那麼它將不匹配那些實例。

+0

雖然此鏈接可能會回答問題,但最好在此處包含答案的基本部分並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – swiftBoy

+1

好的。對於整個網站來說,這還是一個新的東西,但這確實很有意義。我會繼續編輯我的答案,以包含更多信息。 –

+0

那真的很棒。 – swiftBoy