در این پست ، نحوه دریافت شناسه سفارش فعلی از URL در ووکامرس را به شما نشان می دهم و همچنین یک قطعه کد را که می توانید برای دریافت شناسه سفارش استفاده کنید ، به اشتراک می گذارم. در پست قبلی در
به من نحوه دریافت شناسه سفارش از پایگاه داده و از صفحه تنظیمات سرپرست ووکامرس را برجسته کردم.
می توانید شناسه سفارش فعلی را در صفحه پرداخت ووکامرس یا صفحه سفارش را از URL دریافت کنید ، همانطور که در مثال زیر به شما نشان خواهم داد.
چرا شناسه سفارش فعلی ووکامرس را از URL دریافت می کنید؟
چندین سناریو وجود دارد که ممکن است بخواهید با شناسه سفارش از URL پیاده سازی کنید. رایج ترین استفاده از شناسه سفارش فعلی از آدرس URL برای کنترل فرایند پرداخت و است
قبل از اینکه به نحوه دریافت شناسه سفارش فعلی از URL نگاه کنیم ، ابتدا باید نحوه عملکرد سفارشات ووکامرس را درک کنید.
ووکامرس شناسه سفارش فعلی را از URL دریافت کنید
اگر در صفحه پرداخت هستید و سفارش می دهید ، تعدادی پارامتر در URL قرار داده شده است و می توانید آنها را مطابق تصویر زیر مشاهده کنید:
همانطور که مشاهده می کنید ، یکی از پارامترهای اضافه شده به URL ووکامرس در طول مراحل پرداخت ، شناسه سفارش است. شناسه سفارش نیز به صفحه تشکر ووکامرس اضافه می شود ، همانطور که در تصویر زیر نشان داده شده است:
بنابراین اجازه دهید اکنون دریابیم که چگونه می توانیم این شناسه سفارش را از آدرس اینترنتی URL گرفته و از آن در منطق دیگر در توسعه ووکامرس استفاده کنیم.
چگونه می توان شناسه سفارش فعلی ووکامرس را از URL دریافت کرد
برای دریافت شناسه سفارش فعلی ووکامرس از URL ، ابتدا باید تعیین کنیم که در صفحه دریافت سفارش هستیم یا خیر.
ما می توانیم این کار را با استفاده از تابع ووکامرس انجام دهیم تا نقطه پایانی را مانند کد زیر بررسی کنیم:
is_wc_endpoint_url (“سفارش دریافت شد”)
اکنون که مشخص کردیم در صفحه دریافت سفارش قرار داریم ، اکنون مطمئن هستیم که می توانیم پارامترهایی را که قبلاً در مورد آنها صحبت کردم دریافت کرده و از آنها در کد خود استفاده کنیم.
در این صورت ما به راحتی شناسه ای را که در تصویر بالا به شما نشان دادم ، می گیریم. بنابراین در این مورد ما باید از یکی از اشیاء جهانی وردپرس برای بدست آوردن آدرس کامل صفحه فعلی استفاده کنیم –
جهانی wp.
$ wp (object) نمونه جهانی کلاس WP.
اکنون می توانیم پارامترهای URL را برای استخراج شناسه سفارش موردنظر از URL جدا کنیم. در زیر قطعه کد کامل برای دریافت سفارش ووکامرس از URL آمده است:
. if ( is_wc_endpoint_url( 'order-received' ) ) { global $wp; //Get Order ID $order_id = intval( str_replace( 'checkout/order-received/', '', $wp->request ) ); }
شناسه سفارش را از آدرس اینترنتی و نمایش در سرصفحه دریافت کنید
من می خواهم این کد را برای یک تظاهر به یک سرصفحه سرصفحه اضافه کنم تا نشان دهم چگونه می توانید با استفاده از قطعه کد که در بالا به اشتراک گذاشته ام ، به راحتی شناسه سفارش را از URL دریافت کنید.
در زیر قطعه کد کامل با قلاب عمل به هدر برای تصویر نشان داده شده است:
// WooCommerce Get Current Order ID from URL add_action('wp_head', 'get_current_order_id_from_url'); function get_current_order_id_from_url(){ if ( is_wc_endpoint_url( 'order-received' ) ) { global $wp; //Get Order ID $current_order_id = intval( str_replace( 'checkout/order-received/', '', $wp->request ) ); echo $current_order_id; } }
بعد از اینکه این قطعه کد را به موضوع آزمایشی خود اضافه کردید ، مانند من ، هنگام مشاهده پرداخت زیر باید شناسه سفارش را مشاهده کنید مانند تصویر زیر:
نتیجه
در این پست ، من نشان داده ام که چگونه می توانید شناسه سفارش ووکامرس را از URL دریافت کنید. اساساً باید دو مرحله را درک کنید.
ابتدا باید بدانید آیا در صفحه دریافت سفارشاتی هستید که بعد از آن نشان داده می شود یا خیر
تغییر مسیر ووکامرس پس از پرداخت. مرحله دوم این است که با استفاده از شیء جهانی wp وردپرس ، شناسه را از آدرس اینترنتی خارج کنید.