Intereting Posts
Активировать короткие коды для всех почтовых запросов? Почему моя таблица не создана? https redirect hell (добавление www) показать ссылку на все категории текущего сообщения, включая родителей Участок загружается очень медленно (время загрузки 4-5 минут) Создание пути в плагине для вызова функции Куда поместить мой код: плагин или functions.php? Изменить маркировку Wp-Login: имя пользователя для электронной почты категория разбиения страницы разбилась внезапно Как отображать ID видео Youtube / Vimeo в пользовательском типе сообщений, когда пользователь вводит его в пользовательский мета-ящик? Шаблон таксономии пользовательского типа Сохранение возвращаемого значения из the_author_posts_link () add_menu_page не показывает ссылку в меню, однако вы можете получить к ней доступ через url register_taxonomy для «Post» и «Страница» Добавить пользовательскую ссылку «на лету» в меню навигации

Настроить вывод previous_post_link

Я пытаюсь настроить вывод предыдущей ссылки. Я хочу отобразить 2 заголовка (со ссылкой) для предыдущего сообщения, нужно быть настраиваемым текстом, а другим должен быть заголовок сообщения, например:

Read Previous This is Post tile. 

Оба они должны ссылаться на предыдущую должность

Я пытаюсь выполнить код, но он отображает оба заголовка как «Прочитать предыдущие».

 <?php previous_post_link(' <div class="prev-post"> <span class="title1"> <h5>%link</h5> </span> <span class="title2"> <h5>%link</h5> </span> </div> ', __('Read Previous', 'domain') ); ?> 

Solutions Collecting From Web of "Настроить вывод previous_post_link"

Я бы просто отфильтровал previous_post_link и next_post_link . Таким образом, ваш шаблон останется чистым, и вы переместите дополнительную логику в functions.php .

Пример, не проверен:

 add_filter( 'previous_post_link', 'filter_single_post_pagination', 10, 4 ); add_filter( 'next_post_link', 'filter_single_post_pagination', 10, 4 ); function filter_single_post_pagination( $output, $format, $link, $post ) { $title = get_the_title( $post ); $url = get_permalink( $post->ID ); $text = 'Read previous'; $class = 'prev-post'; $rel = 'prev'; if ( 'next_post_link' === current_filter() ) { $text = 'Read next'; $class = 'next-post'; $rel = 'next'; } return "<div class='$class'> <div class='title1'> <h5><a href='$url' rel='$rel'>$text</a></h5> </div> <div class='title2'> <h5><a href='$url' rel='$rel'>$title</a></h5> </div> </div>"; } 

Конечно, это одно и то же. Почему вы думаете, что тот же самый placeholder – %link – будет заменен разными строками? Только один из них вы предоставили?

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

Простейшая задача – передать заголовок сообщения в строке:

 previous_post_link(' <div class="prev-post"> <span class="title1"> <h5>%link</h5> </span> <span class="title2"> <h5>'.get_the_title().'</h5> </span> </div>', __('Read Previous', 'domain') ); 

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