2012-03-21 61 views
0

我有一個插件,我將其描述爲CMS lite。我創建了一個自定義帖子類型。我在這些條目中存儲內容。然後我使用簡碼將自定義帖子內容插入到我的主帖中。這樣我可以在多個註冊表中插入相同的短代碼。帖子,但只需在自定義帖子中更新一次。如何在不使用標籤/過濾器的情況下獲得與apply_filters('the_content)相同的結果?

爲了獲得自定義帖子類型的內容以維護其所見即所得(?hehe),我在該內容上使用了apply_filters('the_content',...)。咄?對?

問題是,如果有一個插件(例如,Sociable)附加到內容的末尾,apply_filters('the_content')將這些內容添加到我的自定義帖子類型內容中。毋庸置疑,我不需要 - 也不希望 - 社交媒體共享的多個實例都會在我的內容區域中濺起所有圖標:)

我想要apply_filters('the_content'...)的標記/格式化但是我無法通過這種方式來解決這個問題。

幫助?

+0

爲什麼每次我在StackOverflow上發佈問題後,我都會在一小時後找到答案。對於那些好奇的人,我認爲這應該可以做到這一點:http://codex.wordpress.org/Function_Reference/wpautop – 2012-03-21 01:59:02

回答

0

好問題。我發現有兩種方法可以做到這一點:

1)編寫自己的函數。如果您試圖分析在WordPress環境之外加載的腳本中的文本塊,這一點尤其有用。我發現這是在這種情況下是有用的:

function nl2p($str) { 
    $arr=explode("\n",$str); 

    for($i=0;$i<count($arr);$i++) { 
     if(strlen(trim($arr[$i]))>0) 
      $out.='<p>'.trim($arr[$i]).'</p>'; 
    } 
    return $out; 
} 

2)(我知道你已經在這個自己迷迷糊糊),可以使用<?php echo wpautop($post->post_content); ?>,使您的段落。

希望這有助於!

相關問題