У меня есть этот код ниже, который приходит из файла WordPress Core /wp-admin/includes/class-wp-posts-list-table.php
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( __( '“%s” (Edit)' ), $title )),
$pad,
$title
);
В моем случае переменная $ title содержит иконку HTML шрифта, т.е.
<i class="fa fa-heart"></i>
Код PHP заставляет веб-браузер отображать символы HTML в виде строки, а не то, что мне нужно, — отображать в виде HTML и отображать Font Awesome Icon.
Я попытался обернуть $ title в
htmlentities()
html_entity_decode()
htmlspecialchars()
Может ли кто-нибудь помочь спасибо
Где вы использовали 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( __( '“%s” (Edit)' ), $title )),
$pad,
html_entity_decode($title)
);
и кажется это работает.
Но это плохая идея изменить основной файл. Вы можете попробовать написать (или найти) какой-нибудь плагин, который позволяет добавлять иконки к определенному заголовку сообщения, но не ко всему сообщению и без изменения исходного файла.
Других решений пока нет …