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

У меня действительно странная проблема.

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

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

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 ()) {
            вернуть $ больше. '& nbsp '. esc_html __ ('Просмотреть больше', 'g5plus-handmade'). ' i> ';
        } еще {
            вернуть $ больше;
        }
    }
    add_filter ('the_excerpt', 'sociality_excerpt_more');
}
Создан 23-12-2016 02:08 Tunji2,35211024

Функция _excerpt должна возвращать только выдержку без дополнительного оформления, если только пользователь не решит добавить ее вручную. Это ожидаемое поведение выдержек в WordPress, и вы не должны пытаться переопределить его, так как есть много мест, в которых выдержки (ошибочно) используются при вызове функции the_excerpt.
Создан 23-12-2016 03:22 Mark Kaplun20.2k52754