如何從WordPress帖子中查找和刪除未使用的簡碼


短代碼很棒,但並非總是最好的方法。 使用依賴於短代碼的插件或主題的一個缺點是,當您切換主題或停用插件時,它們將在您的帖子中留下shordcode標記,這會使讀者感到奇怪。 在本文中,我們將展示如何從WordPress帖子和頁面中查找和刪除未使用的簡碼。

簡碼不好嗎?

沒有, 絕對不。 短代碼還不錯,但是過度使用它們可能會出現問題。 例如,我們使用Compact Archives插件,該插件提供了簡碼和模板標籤。 我們僅在存檔頁面上有簡碼,因此,如果我們停用該插件,則僅需要一頁即可從中刪除簡碼。

另一方面,有些插件和主題提供了用於創建常見樣式元素(例如按鈕,表格,列等)的簡碼。一些廣告管理插件也使用簡碼。 現在,如果用戶在許多帖子中使用了這些短代碼,則用戶很難從所有帖子和頁面中刪除該短代碼。

這就是為什麼我們建議用戶不要依賴主題或插件,而主題或插件要求您在許多帖子中添加簡碼。 如果可以的話,您應該始終嘗試找到更好的選擇,或者與主題或插件作者聯繫。 他們可能會告訴您一種更好的方式來獲得相同的功能,而無需在帖子或頁面中使用太多的短代碼。

對於那些仍然想知道的人,如果您的站點上有一個不活動的簡碼,那麼在內容的中間部分看起來像這樣:

[some-random-shortcode]

為了從帖子和頁面中刪除未使用的簡碼,您需要先找到它們。

查找包含特定簡碼的所有帖子

我們將嘗試最簡單的方法來在帖子內容中查找簡碼。 只需將以下代碼複製並粘貼到特定於站點的插件或主題的functions.php文件中:

function wpb_find_shortcode($atts, $content=null) { 
ob_start();
extract( shortcode_atts( array(
		'find' => '',
	), $atts ) );

$string = $atts['find'];

$args = array(
	's' => $string,
	);

$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) {
        echo '
    '; while ( $the_query->have_posts() ) { $the_query->the_post(); ?>
  • ">
  • '; } else { echo "Sorry no posts found"; } wp_reset_postdata(); return ob_get_clean(); } add_shortcode('shortcodefinder', 'wpb_find_shortcode');

在這段代碼中,我們創建了一個簡碼(那有多諷刺?)。 簡碼運行一個函數來執行自定義WordPress查詢。 在此查詢中,我們使用默認的WordPress搜索功能查找短代碼,然後列出使用該特定短代碼找到的所有帖子。

要使用此功能,您需要創建一個新的WordPress帖子或頁面並將此短代碼粘貼到其中:

[shortcodefinder find='myshortcode']

更換 myshortcode 與您要尋找的shortcode標籤。 將您的帖子或頁面另存為草稿,然後進行預覽。 這將使您可以查看包含所搜索的shortcode標籤的所有帖子的列表。

如何在WordPress中刪除未使用的簡碼

不幸的是,從帖子中刪除未使用的簡碼的最好方法是手動編輯每個包含簡碼的帖子。 在上述方法中,我們向您展示瞭如何獲取包含特定短代碼的帖子列表。 希望這可以節省您一些時間。 有了列表後,就可以一個接一個地瀏覽帖子並刪除簡碼。

另外,如果您不想一一編輯帖子,那麼可以採取一種快速的變通方法,即有效地將短代碼隱藏在您的內容中。 只需將以下代碼粘貼到特定於站點的插件或主題的functions.php文件中:

add_shortcode( 'shortcodetag', '__return_false' );

您需要更換 shortcodetag 短代碼顯示在您的帖子中或您要隱藏的短代碼。

基本上,上面的代碼將添加簡碼,使其不顯示任何內容。 這樣,您的簡碼將像任何其他已註冊的簡碼一樣被解析,但不會在輸出中顯示任何內容。 如果您的帖子中有多個未使用的簡碼,則可以通過僅將shortcodetag替換為要隱藏的簡碼來重複使用此代碼。

我們希望本文能幫助您從WordPress帖子或頁面中查找和刪除未使用的簡碼。 對於問題和反饋,請在下面留下評論。