Intereting Posts
Нажатие на кнопку «добавить в корзину» отключена На всех страницах отображается ошибка 404, пока загрузка изображения не закончится Как отменить ссылки на страницы wp? Поместить содержимое внутри столбца Попытка показать ссылку «Использовать как изображение» из окна «Вложение» из сценария t31os Управление имитатором темы Есть ли способ быстро проверить мой код в среде WordPress? Показать список подкатегорий x обычная таксономия 1 ребенок x обычная таксономия 2 ребенка почему функция избранных изображений не отображается в пользовательском типе сообщений? Переписать правила и постоянную ссылку Шорт-код плагина WordPress не работает wp_query – Изменить запрос $, чтобы включить дублированный контент. Мое меню WordPress, основанное на загрузке Twitter, создает пункт меню, а не элемент страницы Раздел комментариев WordPress на страницах, которые не отображаются WordPress не автоматически сохраняет пользовательские сообщения

Ошибка в функции the_excerpt ()

Я испытываю действительно странную проблему.

Встроенная функция the_excerpt (), как только пользователь вставляет произвольную форму выдержки, задний конец возвращает выдержку, которая динамически создается WP без кнопки «читать больше». Если пользователь не вставляет пользовательский отрывок, функция возвращает отрывок вместе с кнопкой «Читать дальше».

Я хочу иметь полный контроль над этой функцией. Я использовал код

if (!function_exists('sociality_excerpt_more')) { function sociality_excerpt_more($more) { return $more . '&nbsp<a class="read-more p-color" rel="bookmark" title="'. get_the_title() .'" href="'. get_permalink($post->ID) . '">'. esc_html__('View more','g5plus-handmade') .'<i class="pe-7s-right-arrow"></i></a>'; } add_filter('the_excerpt', 'sociality_excerpt_more'); } 

но это не влияет. Используя этот фрагмент, функция возвращает дважды кнопку «читать больше», если пользователь не вставляет пользовательский отрывок.

Любая помощь оценили 🙂

Вы можете обернуть свой вывод в функцию has_excerpt , это проверяет, имеет ли пост пользовательский отрывок.

 if (!function_exists('sociality_excerpt_more')) { function sociality_excerpt_more($more) { if ( has_excerpt() ) { return $more . '&nbsp<a class="read-more p-color" rel="bookmark" title="'. get_the_title() .'" href="'. get_permalink($post->ID) . '">'. esc_html__('View more','g5plus-handmade') .'<i class="pe-7s-right-arrow"></i></a>'; } else { return $more; } } add_filter('the_excerpt', 'sociality_excerpt_more'); } 

Функция the_excerpt должна возвращать только выдержку без дополнительного оформления, если только пользователь не вручную добавит ее в ручную выдержку. Это ожидаемое поведение выдержек в wordpress, и вы не должны пытаться переопределить его, поскольку есть много мест, в которых выдержки (ошибочно) используются при вызове функции the_excerpt .