Я загрузил плагин из репозитория WordPress, который позволяет добавлять значки шрифтов в заголовки сообщений, вы можете выбрать другой значок для отдельных сообщений в соответствии с предпочтениями. Теперь плагин отображает значок очень хорошо в шаблоне пост-архива и шаблоне единой почты, но не отображает значок в новом виджете post post. Я новичок в веб-разработке и WordPress, и мне очень хотелось бы знать, как я могу изменить виджет postpress WordPress (или другие виджеты в этом отношении, отображающие пользовательские типы сообщений), чтобы также отображать значок, назначенный плагином, на конкретные должности.
Поблагодарив вас за ваше время и помощь, Сэм
Ссылка на плагин: https://wordpress.org/plugins/post-featured-font-icon/
Ниже приведен пример добавления тега span
в заголовки сообщений, где класс span добавлен в пользовательское поле wpse_post_icon_class
.
Мы могли бы попытаться ограничить его виджетами Recent Posts :
add_filter( 'widget_display_callback', function( $instance, $obj, $args ) { // Only target Recent Posts widgets if( 'recent-posts' === $obj->id_base ) { // Add filter add_filter( 'the_title', 'wpse_title_with_icon', 10, 2 ); // Widget output $obj->widget( $args, $instance ); // Remove filter remove_filter( 'the_title', 'wpse_title_with_icon', 10, 2 ); // Override the default widget output return true; } return $instance; }, 10, 3 );
где обратный вызов фильтра определяется как:
function wpse_title_with_icon( $title, $post_id ) { // check if the current post has the 'wpse_post_icon_class' custom field if( $icon = get_post_meta( $post_id, 'wpse_post_icon_class', true ) ) $title = sprintf( '<span class="%s"></span> %s', esc_attr( trim( $icon ) ), $title ); return $title; }
Пример:
Вот пример Dashicon, в котором мы добавляем пользовательское поле wpse_post_icon_class
со значением dashicons dashicons-flag
:
Затем виджет « Последние сообщения» будет отображаться как:
где соответствующее название добавляется:
<span class="dashicons dashicons-flag"></span>
Заметки:
Возможно, лучше сохранить только строку flag
в настраиваемом поле, тогда мы должны рассмотреть более конкретное имя, например wpse_post_dashicon_class
, вместо общего имени wpse_post_icon_class
.
Мы также можем расширить это и создать метабокс, где пользователь может щелкнуть значок, с которым она хочет связать сообщение.
Мы должны ставить в очередь Dashicons на интерфейсе или значки шрифта или svg, которые мы предпочитаем использовать.
Другими альтернативами было бы создание пользовательского виджета или короткого кода для большей гибкости.
Надеюсь, поможет.