vazizi69@yahoo.com

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

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

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

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

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

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

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

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

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

0

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


لینک به پست

سلام و درود

 

ابتدا که یه فرم ساده درست میکنیم که یه 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 وارد شده یا نه اگر شده بود سپس میاد چک میکنه اون مقدار عددی هست یا نه چون آیدی پست صرفا میتونه عددی باشه سپس اگر عددی بود میاد چک میکنه آیا این آیدی اصلا مربوط به پستی هست یا اصلا همچین پستی وجود نداره اگر پست رو پیدا کرد ریدیارکت میکنه کاربر رو به صفحه پست.

 

موفق باشید

1

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


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

سلام  یه دنیا  ممنون 

دقیقا همون شد که می خواستم  

خواهش میکنم.

موفق باشید

1

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


لینک به پست

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

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

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

0

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


لینک به پست

 

یا چطور میتونم آی دی پست رو به صورت دستی یا دلخواه تغییر بدم ؟

ویرایش شده در توسط vazizi69@yahoo.com
0

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


لینک به پست
در 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");
			
		}
		
	}
	
});

 

موفق باشید

1

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


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

واقعا سپاسگزارم ازتون 

عااالی بود 

خواهش میکنم.

موفق باشید

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط peykfa
      دوستان سلام لطفا کمکم کنید
      قبل هر چیزی بگم که برای این ارور با کارشناسان هاست سایت و درگاه بانک صحبت کردم خلاصه اینکه کارشناس های سرویس دهنده هاست میگن سایت بنده زمانی که تراکنش صورت میگیره و قراره برگرده به سایت خودمون و اطلاعات تراکنش مثل کد رهگیری و فاکتور رو به مشتری نشون بده تلاش داره به این ای پی اتصال پیدا کنه 149.154.167.220 که هیچ ارتباطی گویا با سایت ما نداره
      ما از فرروشگاه ساز ووکامرس استفاده میکنیم و کارشناسان اعلام کردن که این مشکل رو با برنامه نویس در میون بزارید
      حالا دوستانی که از برنامه نویسی سر در میارن بگن این مشکل چیه و چطور میشه حلش کرد یک سال هست اصلا همچین مشکلی نداشتیم و یهو بوجود اومده
      خواهشا کمک کنید
      ممنون
    • توسط ahmad4u
      سلام دوستان
      من میخوام بطور اتوماتیک فیلد لینک محصول در قسمت لینک خارجی محصولات ووکامرس با افزودن کد در بخش فانکشن قالب تکمیل بشه
      در حقیقت ما یک custom field داریم که بصورت اتوماتیک تو هر پست یک لینک رو دریافت میکنه و میریزه تو متادیتا myfield
      حالا میخوایم به اول اون متادیتا یه لینک ثابت ترکیب کنیم و بعد اونو تو قسمت لینک خارجی محصولات ووکامرس بریزم
      فقط تا این حد میدونم که باید از get_post_meta و update_post_meta برای فراخونی و تغییر اون متادیتا استفاده کنم و بعد متغیر تولید شده بریزم تو زمینه دلخواه ووکامرس_product_url
       
      دوستان اگه لطف کنن و کد مربوطه را در اختیارم بزارن ممنونشون میشم
       
       
    • توسط hldden
      سلام دوستان من میخوام از سفارشات درحال انجام ووکامرس خروجی سفارشی داشته باشم شبیه فایل پیوست زیر اگه راهی بلدین بهم کمک کنین
      ممنون

    • توسط mohammdkhalilii
      سلام و خسته نباشید
      نیاز به افزونه ای دارم که فقط کسانی که محصول را خریده اند ،توانایی کامنت داشته باشند
      مانند سایت abbasmanesh.com
      ممنونم
    • توسط mehdi4174
      سلام
      دوستان من میخوام قیمت های محصولاتم در ووکامرس کلا بدون صفر نشودن داده بشن
      مثلا اگر قیمت یک محصول (30000 تومانه) بشه (30 هزار تومان)
      با اعشار های ووکامرس هم مشکلی حل نشد.باید با فیلتر ها این کارو کرد فکر کنم
      بعضی از سایت ها رو دیدم این کارو کردن اما نتونستم راه حلشو پیدا کنم
      با سرچ هم چیزی دستگیرم نشد.
      اگ کمک کنید مشکل من و خیلی هارو حل کردید مرسی