2015-12-19 51 views
2

我不想讓任何圖像或其標題出現在我的循環中,但我想保持html的樣式。如何從wordpress中刪除標題p類?

到目前爲止,我可以使用此功能來擺脫自己的圖片:現在

function remove_images() { 
$content = get_the_content(); 
$content = apply_filters('the_content', $content); 
$content = strip_tags($content, '<p><a>'); 
return $content; 
} 

,因爲我已經把所有<p>標籤爲造型的目的,並保持書面文章內容,這意味着字幕不會被刪除,因爲它們被包裹在<p class="wp-caption-text">

那麼現在,我該如何刪除只有一個類,以便字幕不會出現?我想把它寫成一個函數,在特定的時間調用它。我有多個循環,在其中一些我想要的字幕和其他人我不...

回答

0

首先,而不是你這樣做,我會使用the_content()你想輸出的內容(在你的模板或你在哪裏使用它)。然後,使用add_filter()修改內容。

其次要刪除標籤的類,你將不得不使用我們的好老朋友正則表達式。所以,你的代碼看起來有點像這樣:

function remove_images($content){ 
    if(/*condition for where you want this to occur*/){ 
     $content = strip_tags($content, '<p><a>'); 
     $content = preg_replace('#<p class="wp-caption-text">(.*?)</p>#', '', $content); 
    } 
    return $content; 
} 
add_filter('the_content', 'remove_images', 100, 1); 
+0

好的,所以我把這個函數放在了functions.php中,並且如果有條件的話這樣做:'is_page_template(get_template_directory_uri()。 'templates/slider-with-text.php')'然後在模板頁面上我不確定我應該做什麼。我只嘗試過'the_content()',但圖像和大寫字母出現。我試過'remove_images(the_content())'具有相同的結果。我試過'remove_images($ content)',並得到一個未定義的'$ content'錯誤。對不起,我只是不確定如何在模板頁面上調用此函數,或者測試針對該模板的條件是否準確。感謝您的幫助 – Elle

+0

'functions.php'是'remove_images()'函數和'add_filter'的正確位置。然後在模板中簡單地使用'the_content()'是正確的。如果你簽出'the_content()',你會看到'apply_filters()'函數。這是應用'add_filter()'函數所做的任何更改的地方。 –

+0

您可以通過刪除if語句並僅執行其中的代碼來測試if語句是否成問題。如果它有效,你需要改變你的if語句條件。 –

0

您可以使用jQuery removeClass函數刪除特定類

你可以使用它是這樣的:

$(document).ready(function() { 
    $("p.wp-caption-text").removeClass("wp-caption-text"); 
}); 

你可以學習更多關於刪除類here