2017-04-11 1 views
0

Ich weiß, der Titel ist ein bisschen seltsam (ich könnte nicht denken, eine bessere, also wenn ein Moderator wäre so nett, um es zu ändern, wenn nötig), aber ich lief in ein kleines Problem beim Erstellen eines Wordpress Theme.
Ich versuche, einen kurzen Tag zu Code-Schnipsel zu machen.
Allerdings stieß ich auf Probleme bei der Verwendung von HTML-Code im Snippet selbst.PHP ersetzen Wordpress Zeilenumbrüche, aber halten Sie manuelle

Dies ist der Text, den ich (in genau dieser Weise) angezeigt werden soll:

HUEHUEHUE 
<br /> 
<span>HELLEU</span> 
<script> 
console.log("hii"); 
console.log("test"); 
</script> 

Wie Sie sehen können, ich <br /> und <script></script> verwenden.
Normalerweise würden diese als HTML ausgeführt, so habe ich htmlentities() diesen jedoch zu verhindern, ist es derzeit wie dies im Codeausschnitt angezeigt wird:

<br /> 
HUEHUEHUE<br /> 
<br /> 
<span>HELLEU</span><br /> 
<script> 
console.log("hii"); 
console.log("test"); 
</script><br /> 

Ich weiß nicht wirklich, wie dieses Problem zu beheben von mir selbst (Ich habe die ganze Nacht gesucht und einige Freunde gefragt, aber sie wussten es auch nicht).

hier ist der Code, den ich in der functions.php verwenden:

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'); 

Und hier ist der Code des SHORTTAG in der Post:

[code lang="html"] 
HUEHUEHUE 
<br /> 
<span>HELLEU</span> 
<script> 
console.log("hii"); 
console.log("test"); 
</script> 
[/code] 

Für diejenigen fragen: Ich bin mit PrismJS (Das ist die <pre> und <code> Tags haben Klassen)

Ich hoffe, ich habe genug Informationen zur Verfügung gestellt, um etwas Hilfe Witz zu bekommen h it it :) Ich würde es vorziehen, den vollen Arbeitscode zu sehen, mit Erklärung (wie mir sagen "Sie sollten dies tun" kann für mich verwirrend sein, und macht es schwierig zu lernen, was zu tun)

Antwort

0

Nach eine lange lange Suche, ich habe es geschafft, this Antwort zu finden, die mich in die Lage versetzt, das Problem zu beheben!

Verwandte Themen