Как добавить миниатюру к навигации для предыдущего / следующего поста - PullRequest
0 голосов
/ 14 марта 2020

1) У меня есть этот код, который позволяет мне добавлять навигацию по заголовкам сообщений: следующий и предыдущий. Поэтому я могу быстро перемещаться между ними.

function get_the_post_navigation( $args = array() ) {
// Make sure the nav element has an aria-label attribute: fallback to the screen reader text.
if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
    $args['aria_label'] = $args['screen_reader_text'];
}

$args = wp_parse_args(
    $args,
    array(
        'prev_text'          => '%title',
        'next_text'          => '%title',
        'in_same_term'       => false,
        'excluded_terms'     => '',
        'taxonomy'           => 'category',
        'screen_reader_text' => __( 'Post navigation' ),
        'aria_label'         => __( 'Posts' ),
    )
);

$navigation = '';

$previous = get_previous_post_link(
    '<div class="nav-previous">%link</div>',
    $args['prev_text'],
    $args['in_same_term'],
    $args['excluded_terms'],
    $args['taxonomy']
);

$next = get_next_post_link(
    '<div class="nav-next">%link</div>',
    $args['next_text'],
    $args['in_same_term'],
    $args['excluded_terms'],
    $args['taxonomy']
);

// Only add markup if there's somewhere to navigate to.
if ( $previous || $next ) {
    $navigation = _navigation_markup( $previous . $next, 'post-navigation', $args['screen_reader_text'], $args['aria_label'] );
}

return $navigation;

}

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

    <?php

if ( is_singular('work') ) {
    //Get the thumnail url of the previous and next post
    $prevThumb = get_the_post_thumbnail_url( get_previous_post(), 'full' );
    $nextThumb = get_the_post_thumbnail_url( get_next_post(), 'full' );

    //Get the links to the Previous and Next Post
    $previous_link_url = get_permalink( get_previous_post() );
    $next_link_url = get_permalink( get_next_post() );

    //Get the title of the previous post and next post
    $prevTitle = get_the_title( get_previous_post() );
    $nextTitle = get_the_title( get_next_post() );
}

 ?>

<div class="post-navigation">
    <a class="post-nav" href="<?php echo "$previous_link_url"; ?>">
        <div class="background-image" style="background: url('<?php echo $prevThumb; ?>');">
            <h2 class="highlight">&larr; <?php echo "$prevTitle"; ?></h2>
            <div class="overlay"></div>
        </div>
    </a>


    <a class="post-nav" href="<?php echo "$next_link_url"; ?>">
        <div class="background-image" style="background: url('<?php echo $nextThumb; ?>');">
            <h2 class="highlight"><?php echo "$nextTitle"; ?> &rarr;</h2>
            <div class="overlay"></div>
        </div>
    </a>
</div>

Что я хочу сделать, так это внедрить код (2) в функцию (1) get_the_post_navigation.

Есть ли кто-нибудь, кто знает, как достичь этой цели?


Я мог бы также добавьте код с миниатюрами к заголовкам с кодом javascript, но я чувствую, что это можно сделать, изменив функцию 'get_the_post_navigation'. Поэтому каждый раз, когда я использую функцию «Я хочу внедрить код (2) в функцию (1) get_the_post_navigation. Я хотел бы использовать эту функцию для отображения не только заголовков сообщений, но и миниатюр.

Есть ли кто-нибудь, кто знает, как достичь этой цели?


Я мог бы также добавить код с миниатюрами к заголовкам с кодом javascript, но я чувствую, что это можно сделать, изменив функцию 'get_the_post_navigation'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...