2017-02-09 2 views
0

ich diesen Code unten haben, die von Wordpress-Core kommt /wp-admin/includes/class-wp-posts-list-table.php DateiPHP Encode String als HTML

printf(
    '<a class="row-title" href="%s" aria-label="%s">%s%s</a>', 
    get_edit_post_link($post->ID), 
    /* translators: %s: post title */ 
    esc_attr(sprintf(__('&#8220;%s&#8221; (Edit)'), $title)), 
    $pad, 
    $title 
); 

In meinem Fall die Variable $ title enthält IconFont HTML dh

<i class="fa fa-heart"></i> 

enter image description here

der PHP-Code macht den Web-Browser als Zeichenfolge, die HTML-Zeichen angezeigt werden und nicht als das, was ich bin nach, die als HTML angezeigt werden und machen th e Schriftart Awesome Icon.

Ive versuchte Verpackung $ title in

htmlentities() 
html_entity_decode() 
htmlspecialchars() 

Kann jemand helfen thanx

+0

haben Sie versucht mit? 'htmlentities ($ title, ENT_HTML5);' –

Antwort

2

Wo hast du html_entity_decode verwenden? Ich habe es versucht:

printf(
    '<a class="row-title" href="%s" aria-label="%s">%s%s</a>', 
    get_edit_post_link($post->ID), 
    /* translators: %s: post title */ 
    esc_attr(sprintf(__('&#8220;%s&#8221; (Edit)'), $title)), 
    $pad, 
    html_entity_decode($title) 
); 

und scheint es funktioniert.

Aber das ist schlechte Idee, Core-Datei zu ändern. Sie können versuchen, ein Plug-in zu schreiben (oder zu finden), das es erlaubt, dem konkreten Beitragstitel Symbole hinzuzufügen, aber nicht zu allen Posts und ohne die ursprüngliche Datei zu ändern.

+0

Ja, das funktioniert Danke, ich hatte dies bei meinem ersten Versuch übersehen, da nichts angezeigt wurde, aber dann erkannte ich, dass die Font Awesome CSS-Datei nicht auf der Admin-Seite enthalten war – grasesed