WordPress – 利用正規表示法與掛勾處理 HTML 標籤屬性

一般在處理 WordPress 時,難免會想要修改網站中本身「HTML標籤的屬性(Attribute)」所顯示出來的內容

什麼情況下會修改呢?在下面舉幾個例子

 

(一)在不利用 searchform.php 檔案的情況下,修改 input 標籤中提示(placeholder) 的文字

參考 developer Filter get_search_form

在一般情況下,若版型中沒有 searchform.php 檔案,WordPress 會有一個預設的搜尋 form,通常如果要改內容,一般會請你自己產生 searchform.php 檔案,來自訂搜尋區域的 HTML 標籤與內容,不過還有一個方式,就是利用過濾器掛勾(Filter Hook)來修改就可以了,以下是範例。

預設的搜尋欄位 placeholder

改變後的搜尋欄位 placeholder

 

(二)在瀏覽文章內文時,將內文中的圖片網址全部換為原圖

參考 developer Filter the_content

這個使用的情境比較特別,一般不會碰到,但如果哪天你使用了一個版型,你上傳一張圖他切了10張不同尺寸的圖片檔案,這時候你又換了一個版型時,這時候你用不到的圖會非常多張,網路上建議都使用 Regenerate Thumbnails 外掛解決,不過你的網站非常大的時候,就可以用這個方式,當使用者瀏覽一篇文章時,才會處理一篇文章,不需要批次大量運算圖片處理,就不會影響你主機的效能(特殊情況例外)

不過,我會寫出來只是提供一種方式,他不一定是最好的,僅供參考!

 

備註:
上述使用的 preg_replace 我們可以稱為 PCRE (Perl Compatible Regular Expression library) 函數
其他可使用的 PCRE 可以參考 正規表示式(Regular Expression)

相連文章

臉書留言

一般留言

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *