Как в вордпресс вывести ссылку на предыдущий пост с заголовком и контентом поста?

Нужно что бы при просмотре записи внизу страницы была ссылка на предыдущую запись из этой же категории. К тому же хочу выводить краткое описание этого поста и количество комментариев.

Добавить Комментарий
    Ответ

    В WordPress есть функция get_adjacent_post(), которая возвращает ОБЪЕКТ следующего или предыдущего поста.  То есть не просто ссылку на следующий или предыдущий пост, а все параметры связанные с записью, дату публикации, количество комментариев, автора, заголовок, состояние поста, контент поста, краткое описание. и так далее.
    Параметры которые выводит функция get_adjacent_post():

    • [post_author] =>
    • [post_date] =>
    • [post_date_gmt] =>
    • [post_content] =>
    • [post_title] =>
    • [post_excerpt] =>
    • [post_status] =>
    • [comment_status] =>
    • [ping_status] =>
    • [post_password] =>
    • [post_name] =>
    • [to_ping] =>
    • [pinged] =>
    • [post_modified] =>
    • [post_modified_gmt] =>
    • [post_content_filtered] =>
    • [post_parent] =>
    • [guid] =>
    • [menu_order] =>
    • [post_type] =>
    • [post_mime_type] =>
    • [comment_count] =>

    Работа с функцией get_adjacent_post():

     get_adjacent_post( $in_same_cat, $excluded_categories, $previous );
     

    $in_same_cat — логический параметр, предназначен для указания пренадлежности записи к этой же категории. true — из этой же категории false — нет.
    $excluded_categories — исключает категории.
    $previous — логический параметр. Если установить его в true, то будет получена предыдущая запись. false — слудующая.
    В итоге вам нужно вставить следующий код:
     <?php
     $next_post = get_adjacent_post(true, '', true);
     echo '
     <div>
         <a href="'. get_permalink($next_post->ID) .'">'. $next_post->post_title .'</a>
         <div>'.$next_post->post_excerpt.'</div>
         <span>'.$next_post->comment_count.'</span>
     </div>
     ';
     ?>
     

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.