正文:
WordPress 文章内容分享代码时,在前台查看时文章页代码显示不了或变空白。代码本来是正确的,但当网友复制你的代码添加到主题时出现错误。
这主要是 WordPress 网站内容已自动字符转义。如代码标点符号本来是英文的,发布后转成中文标点符号(半角引号会变全角)。当别人复制你分享的代码时就错误或无法添加了。那么如何解决 WordPress 文章自动转义字符问题呢。
解决 WordPress 中字符转义问题网上的方法很多,这里介绍一种,在你主题的functions.php文件中添加以下代码,保存即可。
/** 强制阻止 WordPress 代码转义
*https://www.huizhanii.com/34425.html
*/
function git_esc_html($content) {
$regex = '/(<pre\s+[^>]*?class\s*?=\s*?[",\'].*?prettyprint.*?[",\'].*?>)(.*?)(<\/pre>)/sim';
return preg_replace_callback($regex, 'git_esc_callback', $content);
}
function git_esc_callback($matches) {
$tag_open = $matches[1];
$content = $matches[2];
$tag_close = $matches[3];
$content = esc_html($content);
return $tag_open . $content . $tag_close;
}
add_filter('the_content', 'git_esc_html', 2);
add_filter('comment_text', 'git_esc_html', 2);
add_filter('asgarosforum_filter_post_content', 'git_esc_html', 2);
二、也可以在你的wordpress主题里面的 functions.php函数文件(如果文章有 js 代码分享,显示不了代码,推荐上面那种),在文件末尾添加以下代码:
//取消内容转义
remove_filter('the_content', 'wptexturize');
//取消摘要转义
remove_filter('the_excerpt', 'wptexturize');
//取消评论转义
remove_filter('comment_text', 'wptexturize');
//取消标题转换
remove_filter('the_title', 'wptexturize');
转载请注明:汇站网 » WordPress 博客中的内容代码/字符自动转义问题