افزودن صفحه بندی به وردپرس بدون نصب افزونه

افزودن صفحه بندی به وردپرس بدون نصب افزونه

توسط سیستم مدیریت محتوای وردپرس و قالب و افزونه‌های مختلفی که در سایت در اختیار شما قرار می‌گیرند؛ شما می‌توانید امکانات مختلفی را به سایت خود اضافه کنید. در برخی موارد نیز این امکانات به‌وسیله کد نویسی قابل افزوده شدن به سایت است. شماره صفحات یکی از امکاناتی است که شما درصورتی‌که در سایت خود محتوای زیادی داشته باشید باید حتماً از آن استفاده کنید. برای افزودن صفحه بندی به وردپرس این مقاله آموزشی را ببینید.

به‌طور پیش‌فرض قالب وردپرس لینک صفحه‌بندی را از طریق افزودن لینک قدیمی‌ترین پست و جدیدترین پست در انتهای صفحه آرشیو وردپرس نمایش می‌دهد. بااین‌حال بیشتر سایت‌ها از صفحه‌بندی عددی مانند سایت میهن وردپرس استفاده می‌کنند. در این مقاله ما به شما نحوه‌ی افزودن صفحه‌بندی عددی به قالب وردپرس را آموزش می‌دهیم. در اینجا هدف قرار دادن قدیمی‌ترین و جدیدترین لینک صفحه‌بندی در انتهای صفحه آرشیو با حرکت راحت صفحات می‌باشد.

دو روش برای افزودن صفحه‌بندی عددی به قالب وردپرس وجود دارد. روش اول افزودن صفحه‌بندی عددی به‌صورت دستی و بدون استفاده از افزونه است و روش دوم استفاده از یک افزونه می‌باشد. ازآنجاکه این مقاله در دسته آموزش قرار می‌گیرد، ابتدا روش دستی را توضیح می‌دهیم. بعداً در مقاله دیگری افزونه‌ای را برای این کار به شما معرفی خواهیم کرد.

هر یک از این روش‌ها مزیت‌های مخصوص به خود را دارند. اگر شما مایل به استفاده از افزونه باشید افزونه‌های زیادی هستند که به شما در این زمینه کمک خواهند کرد. اما اگر شما آشنا به کد نویسی هستید می‌توانید به‌راحتی این کار را در سایت خود انجام دهید. به‌این‌ترتیب نیاز به نصب هیچ افزونه اضافی در سایت نیست.

اهمیت افزودن شماره صفحات به وردپرس

دسته‌بندی مطالب مختلف سایت در صفحات مختلف باعث می‌شود که صفحات سایت شما زودتر لود شوند. اما اگر این کار را انجام ندهید به دلیل حجم بالای محتوا پس از ورود کاربر به سایت صفحات به‌کندی لود خواهند شد. این موضوع می‌تواند سبب کاهش آمار بازدید سایت شما شود. همچنین دسته‌بندی مطالب در صفحات مختلف باعث می‌شود موتورهای جستجو بهتر مطالب شما پردازش کنند و در اختیار کاربران قرار دهند.

از طرف دیگر کاربر امکان این را دارد که مطلب موردنظر خودش را با توجه به دسته‌بندی‌های صورت گرفته به‌راحتی پیدا کند و در سایت شما سردرگم نشود. این موضوع باعث می‌شود سئو سایت خود را بهبود دهید.

زمانی که شما با استفاده از قابلیت پیش‌فرض وردپرس این کار را انجام دهید تنها دو گزینه صفحه قبل و بعد به سایت شما اضافه می‌شود. اما با استفاده از این کد می‌توانید این قابلیت را در سطح بهتر و بالاتری انجام دهید. این کدها باعث می‌شود شما علاوه بر اینکه این دو گزینه را اضافه می‌کنید در بین آن‌ها اعداد شماره صفحات نیز قرار بگیرند.

یکی از مزیت‌هایی که انجام این کار دارد این است که باعث می‌شود مطالب قدیمی و جدید شما از هم جدا شده و مشخص شوند و کاربر بتواند به توجه به شماره صفحات آن‌ها را از هم تشخیص دهید. همچنین با استفاده از شماره‌گذاری شما شانس دیده شدن مطالب قدیمی سایت خود را بیشتر می‌کنید. این کار باعث می‌شود سایت شما در نظر کاربران مرتب‌تر جلوه کند و ظاهر خوبی داشته باشد.

افزودن صفحه بندی به وردپرس

شما امکان این را دارید که در عرض چند دقیقه این کار را انجام دهید. در ابتدا برای شما نحوه افزودن صفحه‌بندی عددی به‌صورت دستی را نمایش می‌دهیم که این به نفع کاربران پیشرفته، کاربرانی که در حال یادگیری توسعه قالب هستند و یا می‌خواهند این کار بدون استفاده از افزونه انجام دهند می‌باشد.

برای انجام این کار نیز از فایل پرکاربرد فانکشن استفاده می‌کنیم. در ابتدا فایل پوسته را بازکرده و کد زیر را به آن functions.php اضافه کنید.


function mihanwp_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";
	}

این کد تعداد صفحات و یک لیست از لینک شماره را آماده می‌کند. برای افزودن کد به قالب باید برچسب زیر را به Index.php, Archive.php, Category.php و دیگر قالب‌های آرشیو صفحه اضافه کنید.

<?php mihanwp_numeric_posts_nav(); ?>

اکنون‌که صفحه‌بندی را لیست کرده‌ایم نیاز داریم لیست را استایل دهی کنیم. ما می‌خواهیم که لیست را در خط بلوک جایی‌‌که صفحه با رنگ‌های پس‌زمینه مختلف فعال‌شده ایجاد کنیم. برای انجام دادن آن کد زیر را به قالب فایل Style.css اضافه کنید:

.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;
}

اکنون لیستی از صفحه‌بندی عددی در قالب داریم. در نظر داشته باشید که قبل از هر تغییری در فایل فانکشن حتماً یک نسخه پشتیبان از مطالب سایت خود تهیه کنید.

به همین راحتی! شماره بندی صفحات بدون نیاز به نصب افزونه به سایت شما اضافه شد.

موفق و پیروز باشید. 🙂

نظر شما در این مورد چیه؟

⚠️ دسترسی محدود

به دلیل مشکلات اینترنت موجود در ایران، در حال حاضر شما به سرور آلمان میهن وردپرس متصل هستید.
برای دسترسی به بخش‌های داینامیک سایت نیاز است با ای پی ایران وارد شوید تا به سرور ایران متصل شوید.
لطفا در صورتی که با VPN وارد شده‌اید. وی پی ان خود را خاموش کنید و با ای پی ایران سایت را باز کنید. سپاس از همراهی شما و به امید روزهای بهتر برای میهن عزیزمان.