به صورت پیشفرض قابلیت صفحه بندی در قالب های وردپرسی قرار دارد اما لینک صفحهبندی را از طریق افزودن لینک قدیمیترین پست و جدیدترین پست در انتهای صفحه آرشیو وردپرس نمایش میدهد و ما قصد داریم در این آموزش نحوه افزودن صفحه بندی به وردپرس دون نصب افزونه را به شما آموزش دهیم.
همانطور که گفته شد صفحه بندی پیشفرض قالب به صورت لینک قدیمی ترین پست و جدیدترین پست در انتهای صفحه آرشیو را به شما نمایش می دهد ولی در این مقاله قصد داریم نحوه صفحه بندی عددی را به شما یاد بدهیم.
به صورت کلی دو روش محتلف برای اضافه کردن صفحه بندی در وردپرس وجود دارد،روش اول استفاده از افزونه است،روش دوم استفاده از کدنویسی و بدون استفاده از افزونه می باشد.که در این آموزش قصد داریم روش دوم یعنی از طریق کد نویسی را به شما آموزش دهیم.
اهمیت افزودن صفحه بندی به وردپرس
یکی از موضوعاتی که صفحه بندی وردپرس را مهم می کند افزایش سرعت لود و بارگزاری سایت است.با استفاده از صفحه بندی در وردپرس شما محتواها را به صورت صفحه قرار می دهید و همین امر باعث عدم محتوای زیاد در صفحه می شود و در نتیجه سرعت بارگزاری سایت به مراتب افزایش پیدا خواهد کرد.
نکته دوم این است که صفحات به صورت مرتب دسته بندی می شود و دسترسی کاربر را راحت تر می کند،همین طور مطالب جدید از مطالب قدیمی قابل تشخیص است به این شکل که با توجه به شماره گزاری کاربر متوجه می شود که کدام مطالب قدیمی تر از سایر مطالب موجود در سایت می باشد.
افزودن صفحه بندی به وردپرس
شما برای افزودن صفحه بندی در وردپرس بدون استفاده از افزونه کار چندان سختی را در پیش ندارید.فقط کافی است وار دفایل functions.php قالب سایت خود شوید و کد زیر را درون آن جایگزاری کنید.
فراموش نکنید که قبل از جایگزاری این کد حتما از سایت خود نسخه پشتیبان تهیه کنید.
function lamerdweb_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 >= ۱) $links[] = $paged;
/** Add the pages around the current page to the array */
if ($paged >= ۳)
{
$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";
}
کد بالا تعداد صفحات همراه با لینک آن را در اختیار شما قرار می دهد.برای استفاده از کد بالا فقط کافی است تکه کد پایین را به فایل های Index.php, Archive.php, Category.php و دیگر صفحات ارشید خود اضافه کنید.
<?php lamerdweb_numeric_posts_nav(); ?>
در نهایت صفحه بندی ما نیاز به یک استایل و دیزاین جالب دارد که با استفاده از کد زیر به آن رنگ و لعاب می دهیم.
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
color: #fff;
text-decoration:none;
}
.navigation li {
display: inline;
}
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
background-color: #6FB7E9;
border-radius: 3px;
cursor: pointer;
padding: 12px;
padding: 0.75rem;
}
.navigation li a:hover,
.navigation li.active a {
background-color: #3C8DC5;
}
به همین سادگی شماره بندی صفحات بدون نیاز به نصب افزونه به سایت شما اضافه شد،اکنون لیست صفحه بندی عددی شما آماده شده است و در صفحات آرشیو سایت خود در دسترس دارید.