2017-02-09 4 views
0

У меня есть этот код, приведенный ниже, который приходит от Wordpress файл ядра /wp-admin/includes/class-wp-posts-list-table.phpPHP Encode строка в 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 
); 

В моем случае переменной $ название содержит iconfont HTML т.е.

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

enter image description here

код PHP делает веб-браузер отображает HTML-символы в виде строки, а не то, что я, после чего должен отображаться как HTML и вынести тыс e Font Awesome Icon.

Ive пытался оберточной $ титул в

htmlentities() 
html_entity_decode() 
htmlspecialchars() 

Может кто-нибудь помочь спасибо

+0

Вы пробовали? 'htmlentities ($ title, ENT_HTML5);' –

ответ

2

Где вы использовали html_entity_decode? Я пробовал:

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

и кажется, что он работает.

Но это НЕОБХОДИМАЯ идея изменить файл ядра. Вы можете попытаться написать (или найти) какой-нибудь плагин, который позволяет добавлять значки в конкретный заголовок сообщения, но не ко всем сообщениям и без изменения исходного файла.

+0

Да, это работает thanx, я пропустил это при первой попытке, так как ничего не отображалось, но потом я понял, что файл Font Awesome css не был включен в сторону администратора – grasesed