تبلیغات

از درج هرگونه تبلیغات و مطالب هرز معذوریم

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

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

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

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

به طول کلی شما از ۲ راه قادر خواهید بود وردپرس وب سایت خود را صفحه بندی نمایید. یکی از این راه ها استفاده از افزونه های صفحه بندی مطالب در وردپرس می باشد که شما می توانید به واسطه و کمک افزونه هایی نظیر افزونه wp-pagenavi یا افزونه های دیگر بدون نیاز به کدنویسی، محتوای خود را صفحه بندی نمایید.

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

برای انجام این فرآیند وارد هاست خود و در نهایت پوشه مربوط به قالب خود شوید و فایل function.php را ویرایش نمایید و کد زیر را درون آن قرار دهید.

function wpsho_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";

}

شما با استفاده از این کد، توانسته اید تعداد صفحات مطالب سایت خود را آماده و از طریق لینک های شماره ای آن ها را به هم پیوند بسته اید. اما هنوز این کد ها درون وب سایت شما نمایش داده نمی شود. زیرا تابعی که ایجاد کردیم را در هیچ جای وردپرس سایت خود فراخوانی نکرده ایم. بنابراین فایل های archive.php و index.php و category.php و هر فایلی که یک قالب آرشیوی ایجاد می کند را در حالت ویرایش قرار می دهیم و کد زیر را درون آن جایگذاری خواهیم کرد.

<?php wpsho_numeric_posts_nav(); ?>

با ذخیره سازی فایل ها شما توانسته اید یک صفحه بندی مطالب در وردپرس ایجاد کنید. اما دقت داشته باشید که این صفحه بندی بدون هیچ زیبایی و استایل می باشد. بنابراین زمان آن رسیده است تا به آن استایل دهیم و آن را زیباسازی نماییم. به همین سبب فایل اصلی CSS قالب که اغلب 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;
}

در نهایت فایل CSS خود را ذخیره نمایید و با انجام این فرایند شما توانسته اید یک صفحه بندی برای مطالب سایت خود ایجاد کنید.

از طریق این کدها به راحتی می توانید صفحه بندی مطالب در وردپرس بدون افزونه را انجام دهید. اما اگر خودتان کمی کدنویسی CSS بلد باشید به راحتی می توانید ظاهر بسیار زیبایی رو به این صفحه بندی صفحات دهید. 

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