简体   繁体   English

Previous Next Wordpress 单个帖子中的链接,带有多个分页符

[英]Previous Next Link in Wordpress Single Post with Multiple Page Breaks

Is there a way where I can add a PREVIOUS and NEXT page in the page break numbers?有没有办法可以在分页符编号中添加上一页和下一页?

在此处输入图像描述

I have this single post with multiple page break.我有这篇带有多个分页符的帖子。 Hence, this was automatically generated/created at the bottom of the post for navigation.因此,这是在帖子底部自动生成/创建的,用于导航。

What i'm asking is can someone help if its possible to add the "NEXT" and "PREVIOUS" links which contains the url of the next page of the post.我要问的是,如果可以添加包含帖子下一页的 url 的“NEXT”和“PREVIOUS”链接,有人可以帮忙。

here's a sample link of what I'm working on..这是我正在处理的示例链接..

https://myebooklounge.com/del-franco-brothers-adien-book-2-2/ https://myebooklounge.com/del-franco-brothers-adien-book-2-2/

I have this script that can help you我有这个脚本可以帮助你

Prev 1 2 3 ... 30 31 32 Next

Call pagination('<div class="container">', '</div>');调用pagination('<div class="container">', '</div>');

 function pagination($before = '', $after = '')
{
    global $wpdb, $wp_query;
    $pagenavi_options = [
        'pages_text' => ('Page %CURRENT_PAGE% of %TOTAL_PAGES%:'),
        'current_text' => '%PAGE_NUMBER%',
        'page_text' => '%PAGE_NUMBER%',
        'first_text' => __('Première page', 'domain'),
        'last_text' => __('Dernière Page', 'domain'),
        'next_text' => __('Suivant &raquo;', 'domain'),
        'prev_text' => __('&laquo; Précédent', 'domain'),
        'dotright_text' => '...',
        'dotleft_text' => '...',
        'num_pages' => 5, // continuous block of page number,
        'always_show' => 0,
        'num_larger_page_numbers' => 0,
        'larger_page_numbers_multiple' => 5
    ];

    if (! is_single()) {
        $request = $wp_query->request;
        $posts_per_page = intval(get_query_var('posts_per_page'));
        $paged = intval(get_query_var('paged'));
        $numposts = $wp_query->found_posts;
        $max_page = $wp_query->max_num_pages;

        if (empty($paged) || $paged == 0) {
            $paged = 1;
        }

        $pages_to_show = intval($pagenavi_options['num_pages']);
        $larger_page_to_show = intval($pagenavi_options['num_larger_page_numbers']);
        $larger_page_multiple = intval($pagenavi_options['larger_page_numbers_multiple']);
        $pages_to_show_minus_1 = $pages_to_show - 1;
        $half_page_start = floor($pages_to_show_minus_1 / 2);
        $half_page_end = ceil($pages_to_show_minus_1 / 2);
        $start_page = $paged - $half_page_start;

        if ($start_page <= 0) {
            $start_page = 1;
        }

        $end_page = $paged + $half_page_end;
        if (($end_page - $start_page) != $pages_to_show_minus_1) {
            $end_page = $start_page + $pages_to_show_minus_1;
        }
        if ($end_page > $max_page) {
            $start_page = $max_page - $pages_to_show_minus_1;
            $end_page = $max_page;
        }
        if ($start_page <= 0) {
            $start_page = 1;
        }

        $larger_per_page = $larger_page_to_show * $larger_page_multiple;
        // round_num() custom function - Rounds To The Nearest Value.
        $larger_start_page_start = (round_num($start_page, 10) + $larger_page_multiple) - $larger_per_page;
        $larger_start_page_end = round_num($start_page, 10) + $larger_page_multiple;
        $larger_end_page_start = round_num($end_page, 10) + $larger_page_multiple;
        $larger_end_page_end = round_num($end_page, 10) + ($larger_per_page);

        if ($larger_start_page_end - $larger_page_multiple == $start_page) {
            $larger_start_page_start = $larger_start_page_start - $larger_page_multiple;
            $larger_start_page_end = $larger_start_page_end - $larger_page_multiple;
        }
        if ($larger_start_page_start <= 0) {
            $larger_start_page_start = $larger_page_multiple;
        }
        if ($larger_start_page_end > $max_page) {
            $larger_start_page_end = $max_page;
        }
        if ($larger_end_page_end > $max_page) {
            $larger_end_page_end = $max_page;
        }
        if ($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
            $pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']);
            $pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text);
            echo $before . '<div class="pagenavi">' . "\n";

            if (! empty($pages_text)) {
                // echo '<span class="pages">'.$pages_text.'</span>';
            }

            previous_posts_link($pagenavi_options['prev_text']);

            if ($start_page >= 2 && $pages_to_show < $max_page) {
                $first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']);
                echo '<a href="' . esc_url(get_pagenum_link()) . '" class="first" title="' . $first_page_text . '">1</a>';
                if (! empty($pagenavi_options['dotleft_text'])) {
                    echo '<span class="expand">' . $pagenavi_options['dotleft_text'] . '</span>';
                }
            }

            if ($larger_page_to_show > 0 && $larger_start_page_start > 0 && $larger_start_page_end <= $max_page) {
                for ($i = $larger_start_page_start; $i < $larger_start_page_end; $i += $larger_page_multiple) {
                    $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
                    echo '<a href="' . esc_url(get_pagenum_link($i)) . '" class="single_page" title="' . $page_text . '">' . $page_text . '</a>';
                }
            }

            for ($i = $start_page; $i <= $end_page; $i ++) {
                if ($i == $paged) {
                    $current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
                    echo '<span class="current">' . $current_page_text . '</span>';
                } else {
                    $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
                    echo '<a href="' . esc_url(get_pagenum_link($i)) . '" class="single_page" title="' . $page_text . '">' . $page_text . '</a>';
                }
            }

            if ($end_page < $max_page) {
                if (! empty($pagenavi_options['dotright_text'])) {
                    echo '<span class="expand">' . $pagenavi_options['dotright_text'] . '</span>';
                }
                $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']);
                echo '<a href="' . esc_url(get_pagenum_link($max_page)) . '" class="last" title="' . $last_page_text . '">' . $max_page . '</a>';
            }
            next_posts_link($pagenavi_options['next_text'], $max_page);

            if ($larger_page_to_show > 0 && $larger_end_page_start < $max_page) {
                for ($i = $larger_end_page_start; $i <= $larger_end_page_end; $i += $larger_page_multiple) {
                    $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
                    echo '<a href="' . esc_url(get_pagenum_link($i)) . '" class="single_page" title="' . $page_text . '">' . $page_text . '</a>';
                }
            }
            echo '</div>' . $after . "\n";
        }
    } else {
        echo $before . '<div class="pagenavi">' . "\n";
        next_post_link('%link');
        previous_post_link('%link');
        echo '</div>' . $after . "\n";
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM