bijame

تغییر لینک دهی به صفحات

14 پست در این موضوع قرار دارد

دروود

ما دسته بندی هامون این شکلی صفحه بندی میکنه : 

sitename.com/category/name-cat/page/2/

و می خواهیم این شکلی صفحه بندی بشه :

sitename.com/category/namecat?page=2

آیا دوستان راه حلی دارند برای این مسئله ؟ 

0

به اشتراک گذاری این پست


لینک به پست
در 9 ساعت قبل، bijame گفته است :

دروود

ما دسته بندی هامون این شکلی صفحه بندی میکنه : 

sitename.com/category/name-cat/page/2/

و می خواهیم این شکلی صفحه بندی بشه :

sitename.com/category/namecat?page=2

آیا دوستان راه حلی دارند برای این مسئله ؟ 

از پیوند یکتا مگه نمیتونید انجام بدید ؟

0

به اشتراک گذاری این پست


لینک به پست
در 8 ساعت قبل، aligoli گفته است :

از پیوند یکتا مگه نمیتونید انجام بدید ؟

نه دوست عزیز همچین چیزی امکان نداره از پیوند یکتا

0

به اشتراک گذاری این پست


لینک به پست
در 1 ساعت قبل، bijame گفته است :

نه دوست عزیز همچین چیزی امکان نداره از پیوند یکتا

سلام و درود

 

همچین چیزی ممکن نیست به علت اینکه کوئری استرینگ page توسط وردپرس از قبل رزرو شده.

 

موفق باشید

0

به اشتراک گذاری این پست


لینک به پست
در 4 ساعت قبل، mehran-b گفته است :

سلام و درود

 

همچین چیزی ممکن نیست به علت اینکه کوئری استرینگ page توسط وردپرس از قبل رزرو شده.

 

موفق باشید

هیچ راحی وجود نداره برای رفع این مسئله ؟ 

0

به اشتراک گذاری این پست


لینک به پست
در 40 دقیقه قبل، bijame گفته است :

هیچ راحی وجود نداره برای رفع این مسئله ؟ 

وقتی دیگه کوئری رزرو شده معمولا ازش استفاده نمیکنند چون اختلال ایجاد میشه.

احتمال داره بشه یه جوری این کوئری رو به صفحه بندی اختصاص داد ولی نمیدونم چجوری.

0

به اشتراک گذاری این پست


لینک به پست

البته یه نکته ای هم هست وردپرس صفحه بندی رو با کوئری استرینگ paged هندل میکنه.

یعنی توی وردپرس

sitename.com/category/name-cat?paged=2

معادله با

sitename.com/category/name-cat/page/2/

هست.

اگر آدرس اول رو وارد کنید میبینید که ریدایرکت میشید به آدرس دوم.

 

موفق باشید

1

به اشتراک گذاری این پست


لینک به پست
در 19 ساعت قبل، mehran-b گفته است :

البته یه نکته ای هم هست وردپرس صفحه بندی رو با کوئری استرینگ paged هندل میکنه.

یعنی توی وردپرس


sitename.com/category/name-cat?paged=2

معادله با


sitename.com/category/name-cat/page/2/

هست.

اگر آدرس اول رو وارد کنید میبینید که ریدایرکت میشید به آدرس دوم.

 

موفق باشید

حالا من نمی خوام این اتفاق بیافته ریدایرکت انجام بشه و صفحات به طور پیشفرض اون شکلی بشن آیا امکانش هست ؟ 

0

به اشتراک گذاری این پست


لینک به پست
در 5 دقیقه قبل، bijame گفته است :

حالا من نمی خوام این اتفاق بیافته ریدایرکت انجام بشه و صفحات به طور پیشفرض اون شکلی بشن آیا امکانش هست ؟ 

خوب راه اصلیش اینه که شما توی بخش پیوند های یکتا تنظیمات عمومی رو روی ساده بذارید.

1

به اشتراک گذاری این پست


لینک به پست
در 24 دقیقه قبل، mehran-b گفته است :

خوب راه اصلیش اینه که شما توی بخش پیوند های یکتا تنظیمات عمومی رو روی ساده بذارید.

خب اینجوری کل صفحات پست ها این اتفاق میافته من نیاز دارم که فقط صفحات 2 - 3 - 4 و... این شکلی بشه 

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، bijame گفته است :

خب اینجوری کل صفحات پست ها این اتفاق میافته من نیاز دارم که فقط صفحات 2 - 3 - 4 و... این شکلی بشه 

فقط صفحه بندی اینطوری بشه.

باید فک کنم روش الان چیزی به ذهنم نمیرسه.

موردی به ذهنم رسید تاپیک رو بروز میکنم.

1

به اشتراک گذاری این پست


لینک به پست

درود مجدد @bijame

 

یه پلاگین برای این منظور آماده کردم.

disable-permalink-only-for-pagination.zip

در صورتی که نمی خواید از پلاگین استفاده کنید میتونید کد زیر رو درون فایل functions.php قالبتون زیر اولین

<?php

قرار بدید.

final class Mehran_DPOP {
	
	public static function instance() {
		
		new self();
		
	}
	
	public function __construct() {
		
		add_action('parse_query', array($this, 'parse_query'), 999);
		add_filter('redirect_canonical', array($this, 'redirect_canonical'), 999);
		add_filter('get_pagenum_link', array($this, 'get_pagenum_link'), 999);
		
	}
	
	public function parse_query($wp_query) {
		
		global $wp, $wp_rewrite;
	
		if($wp_query->is_paged() && $wp_rewrite->using_permalinks()) {
		
			if(preg_match("/({$wp_rewrite->pagination_base}\/\d[\/]?)$/", home_url($wp->request), $matches)) {
				
				$url = str_replace($matches[1], '', home_url($wp->request));
				
				$url = add_query_arg('paged', $wp_query->query['paged'], $url);
				
				wp_redirect($url, 301);
				exit();
				
			}
		
		}
		
	}
	
	public function redirect_canonical($redirect_url) {
		
		global $wp_rewrite;
		
		if(!$wp_rewrite->using_permalinks())
			return $redirect_url;
		
		if(preg_match("/({$wp_rewrite->pagination_base}\/\d[\/]?)$/", $redirect_url, $matches)) {
			
			$url = str_replace($matches[1], '', $redirect_url);
			
			$url = add_query_arg('paged', get_query_var('paged'), $url);
			
			return $url;
			
		}
		
		return $redirect_url;
		
	}
	
	public function get_pagenum_link($result) {
		
		global $wp_rewrite;
		
		if(!$wp_rewrite->using_permalinks())
			return $result;
		
		if(preg_match("/({$wp_rewrite->pagination_base}\/(\d)[\/]?)$/", $result, $matches)) {
			
			$url = str_replace($matches[1], '', $result);
			
			$url = add_query_arg('paged', $matches[2], $url);
			
			return $url;
			
		}
		
		return $result;
		
	}
	
}

Mehran_DPOP::instance();

 

پ.ن : در صورت استفاده از پلاگین صرفا پلاگین را نصب و فعال کنید.

 

موفق باشید

4

به اشتراک گذاری این پست


لینک به پست
در 2 ساعت قبل، bijame گفته است :

واقعااا ممنونم 

خواهش میکنم.

موفق باشید

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری