رفتن به مطلب

لطفا کمک . فرم جستجوی محصول با کد


vazizi69@yahoo.com

پست های پیشنهاد شده

سلام ممنون میشم اگر منو راهنمایی کنید 

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

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

یعنی مستقیم به داخل صفحه محصول که کدش رو زدم بره و دکمه خرید داشته باشه 

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

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

https://digikatoni.ir/single-checkout/

لینک به ارسال

سلام و درود

 

ابتدا که یه فرم ساده درست میکنیم که یه input داره که آیدی محصول توش وارد میشه و به همراه دکمه سابمیت فرم.

<form method="post">
<input type="text" name="mypid">
<input type="submit">
</form>

بعد همون طور که توی کد بالا مشخصه اسم فیلدی که توش آیدی پست وارد میشه رو گذاشتم mypid بنابراین با قراردادن کد زیر در functions.php میایم این نام رو برای وردپرس به عنوان یک کوئری تعریف میکنیم.

add_filter('query_vars', function($qvars) {
  $qvars[] = 'mypid';
  return $qvars;
});

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

add_action('template_redirect', function() {
	if(get_query_var('mypid', false)) {
		
		$post_id = get_query_var('mypid');
		
		if(is_numeric($post_id)) {
			
			$permalink = get_permalink((int) $post_id);
			
			if($permalink) {
				
				wp_redirect($permalink);
				exit;
				
			}
			
		}
		
	}
});

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

 

موفق باشید

لینک به ارسال

ببخشید یه سوال دیگه 

حالا اگه بخوام با شناسه  sku  محصول جستجو رو انجام بدم چه کدی باید بزنم ؟

اخه sku  رو خودم میتونم به صورت دستی هر کدی میخوام برای هر محصول  بزنم ولی پست آیدی رو سیستم خودکار تعیین میکنه

لینک به ارسال
در 6 ساعت قبل، vazizi69@yahoo.com گفته است :

ببخشید یه سوال دیگه 

حالا اگه بخوام با شناسه  sku  محصول جستجو رو انجام بدم چه کدی باید بزنم ؟

اخه sku  رو خودم میتونم به صورت دستی هر کدی میخوام برای هر محصول  بزنم ولی پست آیدی رو سیستم خودکار تعیین میکنه

برای SKU کدها به این ترتیب میشه.

<form method="post">
<input type="text" name="myprosku">
<input type="submit">
</form>
add_filter('query_vars', function($qvars) {
  $qvars[] = 'myprosku';
  return $qvars;
});
add_action('template_redirect', function() {
	
	if(get_query_var('myprosku', false)) {
		
		global $wpdb;
		
		$sku = get_query_var('myprosku');
		
		$post_id = $wpdb->get_var($wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key='_sku' AND meta_value='%s' LIMIT 1", $sku));
		
		if($post_id !== null) {
			
			$permalink = get_permalink((int) $post_id);
			
			wp_redirect($permalink);
			exit;
			
		} else {
			
			die("Product Not Found");
			
		}
		
	}
	
});

 

موفق باشید

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...