我知道标题有点奇怪(我无法想到更好的标题,所以如果主持人愿意在需要时更改它),但是在制作Wordpress时我遇到了一个小问题主题。
我试图制作一个简短的标签来发布代码片段
但是,我在代码片段中使用HTML代码时遇到了问题。
这是我想要显示的文字(以这种方式):
HUEHUEHUE
<br />
<span>HELLEU</span>
<script>
console.log("hii");
console.log("test");
</script>
如您所见,我使用<br />
和<script></script>
通常,这些将作为HTML执行,因此我使用htmlentities()
来防止这种情况
但是,它目前在代码段中显示如下:
<br />
HUEHUEHUE<br />
<br />
<span>HELLEU</span><br />
<script>
console.log("hii");
console.log("test");
</script><br />
我自己并不知道如何解决这个问题(我整晚都在搜索,并问了一些朋友,但他们也不知道)。
这是我在functions.php
中使用的代码:
function code_func($atts, $content = null){
$a = shortcode_atts( array(
'lang' => '',
'code' => $content,
), $atts );
$codeblock = "<pre class=\"line-numbers\"><code class=\"language-".$a['lang']."\">".htmlentities($a['code'])."</code></pre>";
return $codeblock;
}
add_shortcode( 'code', 'code_func' );
以下是帖子中的短标签代码:
[code lang="html"]
HUEHUEHUE
<br />
<span>HELLEU</span>
<script>
console.log("hii");
console.log("test");
</script>
[/code]
对于那些疑惑的人:我使用PrismJS
(<pre>
和<code>
标签都有类)
我希望我提供了足够的信息来获得一些帮助:) 我更喜欢看到完整的工作代码和解释(告诉我&#34;你应该这样做&#34;可能会让我感到困惑,并且难以学会实际做什么)