为什么自定义的HTML块不保留HTML字符?

时间:2022-01-04 作者:Ooker

例如,普通的单引号字符\' (') 已转换为正确的 (’) 在HTML页面输出中。我理解在常规Gutenberg块中出现这种情况的原因,但为什么仍然需要在自定义HTML块中进行呢?我启用了故障排除模式并使用了2021主题,它仍在转换中。

以下是输入法之间的区别:

<p>Paragraph block then converted to html: &#8216;</p>
Custom HTML block: &#8216;
<pre class="wp-block-preformatted">Preformatted block: \'</pre>
<pre class="wp-block-code"><code>Code block: \'</code></pre>
<pre>Classic block with preformatted style: \'</pre>

我的目标是保留角色,以便inputs for Cypher. 帖子中有一段JS来处理这个输入。

仅供参考:A piece of JS code is needed to use multiple times with different values and function names. How to do it efficiently?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

这是由于wptexturize 以及标准的使用<div> 以包含您的代码。看见https://developer.wordpress.org/reference/functions/wptexturize/

相反,将代码标记为代码:

标记中包含的文本<pre>, <code>, <kbd>, <style>, <script>, 和<tt> 将跳过。此标记列表可以通过no_texturize_tags 滤器

请注意,HTML块只允许您将用户定义的HTML插入到帖子内容中,帖子内容仍会得到处理,它是一个包含HTML的块,而不是一个raw任意HTML块,例如,如果在其中放置一个短代码,则会处理该短代码。HTML块中的段落与段落块中的段落一样多。同样,如果您没有unfiltered_html 能力

相关推荐

Troubleshooting Admin_Notice

我在插件顶部有以下代码: function my_mwe_admin_notice(){ echo \'<div class=\"notice notice-error\">\'; echo \'<h1>Notice this.</h1>\'; echo \'</div>\'; } add_action( \'admin_notices\', \'my_mwe_admin_notice\' )