私はタイトルがちょっと奇妙だと知っています(私はより良いものを考えることができませんでしたので、モデレータが必要ならばそれを変更するのに十分親切です)。 Wordpressのテーマを作る際に少し問題があります。
私はコードスニペットを投稿するための短いタグを作ろうとしています。
しかし、スニペット自体にHTMLコードを使用する際に問題が発生しました。PHPはwordpressの改行を置き換えますが、手動のものを置き換えます
これは私が(この正確な方法で)表示するテキストです:
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');
そして、ここでのポストでSHORTTAGのコードです:これらの不思議については
[code lang="html"]
HUEHUEHUE
<br />
<span>HELLEU</span>
<script>
console.log("hii");
console.log("test");
</script>
[/code]
:私は(PrismJS
を使用しています<pre>
と<code>
タグはクラスがあります)
私はいくつかの助けを得るために十分な情報を提供したと思いますh::) 私は完全な作業用コードを見て、(私には「あなたはこれを行うべきです」と言って、私には混乱を招くかもしれないし、実際に何をするのかを学ぶのが難しいと言います)