我有「較新和較舊」的鏈接,但我想分頁像1,2,3 ...添加「1,2,3 ..」分頁到WordPress主頁
我添加了一個鏈接,ul代碼看起來不錯,但它只是鏈接到「第1頁」,「第2頁」 ..沒有任何功能
感謝您的任何意見:)彼得
我有「較新和較舊」的鏈接,但我想分頁像1,2,3 ...添加「1,2,3 ..」分頁到WordPress主頁
我添加了一個鏈接,ul代碼看起來不錯,但它只是鏈接到「第1頁」,「第2頁」 ..沒有任何功能
感謝您的任何意見:)彼得
嘗試下面的代碼,像1,2,3等添加分頁..等
function my_numeric_posts_nav() {
if(is_singular())
return;
global $wp_query;
/** Stop execution if there's only 1 page */
if($wp_query->max_num_pages <= 1)
return;
$paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1;
$max = intval($wp_query->max_num_pages);
/** Add current page to the array */
if ($paged >= 1)
$links[] = $paged;
/** Add the pages around the current page to the array */
if ($paged >= 3) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if (($paged + 2) <= $max) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
echo '<div class="navigation"><ul>' . "\n";
/** Previous Post Link */
if (get_previous_posts_link())
printf('<li>%s</li>' . "\n", get_previous_posts_link());
/** Link to first page, plus ellipses if necessary */
if (! in_array(1, $links)) {
$class = 1 == $paged ? ' class="active"' : '';
printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1');
if (! in_array(2, $links))
echo '<li>…</li>';
}
/** Link to current page, plus 2 pages in either direction if necessary */
sort($links);
foreach ((array) $links as $link) {
$class = $paged == $link ? ' class="active"' : '';
printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)), $link);
}
/** Link to last page, plus ellipses if necessary */
if (! in_array($max, $links)) {
if (! in_array($max - 1, $links))
echo '<li>…</li>' . "\n";
$class = $paged == $max ? ' class="active"' : '';
printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)), $max);
}
/** Next Post Link */
if (get_next_posts_link())
printf('<li>%s</li>' . "\n", get_next_posts_link());
echo '</ul></div>' . "\n";
}
您將不得不使用paginate_links。這是來自Codex的標準實施。
<?php
global $wp_query;
$big = 999999999; // need an unlikely integer
$translated = __('Page', 'mytextdomain'); // Supply translatable string
echo paginate_links(array(
'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
'format' => '?paged=%#%',
'current' => max(1, get_query_var('paged')),
'total' => $wp_query->max_num_pages,
'before_page_number' => '<span class="screen-reader-text">'.$translated.' </span>'
));
?>
Codex的引用。 https://codex.wordpress.org/Function_Reference/paginate_links
希望它有幫助。
歡迎來到Stack Overflow。請回顧[我如何問一個好問題](https://stackoverflow.com/help/how-to-ask)。你已經嘗試過這麼做了嗎?問題應該顯示**研究證據和嘗試自己解決問題**,清楚地列出您的特定編碼相關問題以及[最小,完整和可驗證示例]中的任何相關代碼(https:// stackoverflow .com/help/mcve),所以我們可以提供幫助。 – FluffyKitten