Вы наверное знаете, что можно в любом месте обрезать пост и в конце анонса поставить ссылку на его полную версию при помощи кнопок в редакторе в админке или же блока «Тег Далее» в Gutenberg. В этом урока я покажу несколько способов, как изменить текст этой ссылки.
Классический редактор
Это было когда-то очень давно 🦖, ещё до прихода Gutenberg. Я даже решил оставить те самые старые скриншоты, когда я впервые записывал этот урок.
Визуальный редактор:
HTML-редактор:
Так вот, неважно какой кнопкой вы воспользовались, в HTML-редакторе на месте обрезки поста появится тег: <!--more-->
.
И в таких случаях, для того, чтобы изменить текст ссылки «Читать далее», нам достаточно изменить этот тег, например на <!--more продолжить чтение-->
или <!--more перейти→-->
или что угодно другое.
В редакторе Gutenberg
А тут совсем всё легко, правда в первый раз может быть не совсем очевидно, поэтому записал для вас это видео:
Изменяем текст или HTML ссылки сразу для всех постов при помощи фильтра the_content_more_link
Фильтр the_content_more_link находится внутри функции get_the_content() и про него я уже рассказывал ранее.
Тем не менее вот простейший пример изменения текста ссылки:
add_filter( 'the_content_more_link', 'true_new_more_text', 10, 2 ); function true_new_more_text( $more_link, $more_link_text ) { $new = "продолжить чтение..."; // вписываем своё return str_replace( $more_link_text, $new, $more_link ); }
А тут мы полностью перезаписываем её HTML:
add_filter('the_content_more_link', 'true_more_button_not_a_link' ); function true_more_button_not_a_link( $more_link ) { return '<button class="readmorebtn" onclick="' . esc_attr('window.location="' . get_permalink() . '"') . '">Далее</button>'; }
Не знаете, куда вставлять код?
Первый параметр функций the_content() или get_the_content()
Если вы сами занимаетесь разработкой темы для WordPress, об этом у меня кстати есть видеокурс, тогда вы можете контролировать текст ссылки «Читать далее» первым параметром этих функций $more_link_text
, например для функции the_content():
the_content( 'Продолжить чтение..' );
или для get_the_content():
$content = get_the_content( 'Продолжить чтение..' );