Site icon booooker | 波哥分享

WordPress 將反引號轉換為行內代碼,無需插件

wordpress 反引號渲染為內行代碼教學
5
(1)

複製以下代碼進functions.php即可。

function my_custom_content_filter( $content ) {
$code_content = preg_replace('/`([^`]+)`/', '<coding style="background-color: #f5f5f5; color: #333; padding: 4px;">$1</coding>', $content);
return $code_content;
}
add_filter( 'the_content', 'my_custom_content_filter', 1 );

以下是代碼的具體解釋和實現原理:

  1. my_custom_content_filter() 函數接受一個字串作為參數 $content,這個字串通常是文章的內容。
  2. preg_replace() 函數使用正則表達式 /([^]+)/來匹配使用反引號括起來的文字,其中[^]+ 表示匹配任何不是反引號的字符,() 表示將匹配的結果捕獲為一個分組。
  3. $1 是替換文本,其中 $1 表示匹配的第一個分組,這裡是使用反引號括起來的文字。這個替換文本將匹配的文字替換為一個標籤,並為其定義了一些樣式。
  4. preg_replace() 函數返回替換後的結果,將其賦值給 $code_content 變數。
  5. my_custom_content_filter() 函數最終返回 $code_content 變數,這就是經過處理後的文章內容。
  6. add_filter( 'the_content', 'my_custom_content_filter', 1 ) 語句將 my_custom_content_filter() 函數添加為the_content過濾器的一部分,這意味著在顯示文章內容時,WordPress將自動應用這個過濾器,將文章中使用反引號括起來的文字轉換為標籤。

總體來說,這個代碼是使用PHP的正則表達式來解析文章內容,將其中的代碼片段轉換為HTML的標籤,以便更好地顯示程式碼。

已知問題

  1. 如果主題或插件自帶<code></code>處理的,建議修改成<coding></coding>
  2. 文章如果出現單個反引號,代碼也會處理渲染的。

這篇文章對你有幫助嗎?

感謝支援《波哥分享》原創文章!

原文標題:WordPress 將反引號轉換為行內代碼,無需插件

原文網址:https://www.booooker.com/198.html

給個5星好評吧?

平均分 5 / 5. 評價計數: 1

還沒有人評價哦~

猜你喜歡

轉載請保留原文連結:https://www.booooker.com/198.html
Exit mobile version