[TOC]
LoliMeowV12对于无语言标记的代码块渲染是正常的,所以不引入其他功能,故仅在LoliMeowV12的主题文件里,添加一段代码,将语言标记消除掉
在/wp-content/themes/lolimeow/functions.php的文件末尾添加以下内容:
// ==========================================
// 新增:修复带语言标记的代码块渲染为黑色的问题
add_filter('the_content','lolimeow_remove_language_class' );
function lolimeow_remove_language_class( $content ) {
// 1. 移除 pre 和 code 标签中的 language-xxx 类名
$content = preg_replace('/(<(?:pre|code)[^>]*class=["\'][^"\']*)language-[^"\'\s]+([^"\']*["\'])/i','$1$2',
$content
);
// 2. 清理因为移除类名产生的多余空格(如 class="a b" 变成 class="a b")
$content = preg_replace('/(<(?:pre|code)[^>]*class=["\'])\s+/i','$1',
$content
);
$content = preg_replace('/\s+(["\'])/','$1',
$content
);
// 3. 清理彻底变空的 class 属性(如 class="")
$content = preg_replace('/(<(?:pre|code)[^>]*)\s+class=["\']["\']/i','$1',
$content
);
return $content;
}
// ==========================================

