wordpress文章内容分享代码时,在前台查看时文章页代码显示不了或变空白。代码本来是正确的,但当网友复制你的代码添加到主题时出现错误。又比如你分享的图片链接地址是
<img alt='wordpress博客' src='http://img.bokequ.com/wp-content/uploads/2018/11/jzcs.jpg'/>
,但在前台显示的不是上面的链接代码,而是直接显示一张图片等等。
这主要是wordpress网站内容已自动字符转义。如代码标点符号本来是英文的,发布后转成中文标点符号(半角引号会变全角,)。当别人复制你分享的代码时就错误或无法添加了。那么如何解决WordPress文章自动转义字符问题呢。
解决WordPress中字符转义问题网上的方法很多,这里介绍一种,在你主题的functions.php文件中添加以下代码,保存即可。
/** 强制阻止WordPress代码转义 *http://www.bokequ.com/62.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');
评论