پرش به مطلب اصلی

عملکردهای وردپرس و ووکامرس

این عملکردها در فرم انتخاب عملکرد، زیر گروه وردپرس قرار دارند. برای افزودن آن‌ها، مثل هر عملکرد دیگری روی رویداد یک ویجت یا صفحه، عملکرد جدید بسازید و از منوی وردپرس انتخاب کنید.


قواعد مشترک

قبل از رفتن سراغ فهرست، چهار نکته در همه این عملکردها تکرار می‌شود:

سایت وردپرسی

اگر خالی بماند، سایت انتخاب‌شده در تنظیمات اپ استفاده می‌شود. فقط در اپ‌های چندسایته لازم است آن را پر کنید.

«استفاده از آیتم فعلی»

اگر روشن باشد، عملکرد روی همان نوشته، محصول، دیدگاه، سفارش یا ردیفی اجرا می‌شود که صفحه یا ردیف لیست نمایش می‌دهد. اگر خاموش شود، باید شناسه را دستی وارد کنید. در الگوی لیست و صفحه جزئیات، تقریباً همیشه باید روشن بماند.

فیلدهایی که «متغیر» می‌خواهند

فیلدهایی مثل «متغیر رمز عبور» یا «متغیر اطلاعات پرداخت» نام متغیر می‌گیرند، نه مقدار. مقدار متغیر فقط هنگام اجرا خوانده می‌شود، بنابراین اطلاعات حساس داخل تنظیمات اپ ذخیره نمی‌شود.

نتیجه اجرا

هر عملکرد وردپرسی، نتیجه خود را در این دو متغیر می‌گذارد:

  • sys.wordpress.lastResult — داده پاسخ در صورت موفقیت
  • sys.wordpress.lastError — پیام خطا در صورت شکست

برای ادامه یک زنجیره فقط در صورت موفقیت، از عملکرد چندگانه به‌همراه شرط مقدار متغیر روی sys.wordpress.lastError استفاده کنید.


نمایش محتوا

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

نوشته یا برگه‌ای را می‌خواند و در یک صفحه الگو باز می‌کند. صفحه اختصاصی

فیلدتوضیح
نوع محتوانوشته یا برگه
شناسه پُستشناسه عددی؛ اگر «آیتم فعلی» روشن است لازم نیست
صفحه قالب نوشتهصفحه‌ای با ویجت‌های معمولی متصل به sys.inPage.post.*

بازکردن یک محصول ووکامرس

محصولی را می‌خواند و در صفحه الگوی محصول باز می‌کند. صفحه اختصاصی

فیلدتوضیح
شناسه محصولشناسه عددی؛ با «آیتم فعلی» لازم نیست
صفحه الگوی اجزای محصولصفحه‌ای با ویجت‌های معمولی متصل به sys.inPage.product.*

سبد خرید

این عملکردها فقط به ووکامرس نیاز دارند و بدون افزونه اختصاصی هم کار می‌کنند. سبد خرید برای همان سایت و همان نصب اپ نگه داشته می‌شود.

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

فیلدتوضیح
شناسه محصولبا «استفاده از محصول فعلی» لازم نیست
تعدادپیش‌فرض ۱

اگر محصول متغیر باشد و کاربر همه گزینه‌ها را انتخاب نکرده باشد، عملکرد اجرا نمی‌شود و پیام «ابتدا گزینه‌های محصول را انتخاب کنید» نمایش داده می‌شود. برای ترکیبی که ناموجود یا غیرقابل خرید است هم پیام مناسب داده می‌شود.

حذف محصول از سبد خرید

فیلدتوضیح
شناسه ردیف سبدبا «استفاده از ردیف فعلی سبد خرید» لازم نیست

این عملکرد را روی الگوی آیتم لیست سبد بگذارید تا هر ردیف دکمه حذف خودش را داشته باشد.

تغییر تعداد محصول در سبد خرید

انعطاف‌پذیرترین عملکرد سبد. دو تنظیم اصلی دارد:

هدف تغییر تعداد

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

عملیات تعداد

گزینهرفتار
تنظیم مقدارتعداد را روی عدد ثابت یا مقدار یک متغیر می‌گذارد
افزایش یک گامیک گام اضافه می‌کند
کاهش یک گام / حذف در حداقلیک گام کم می‌کند و روی حداقل، ردیف را حذف می‌کند
حذف از سبدردیف را حذف می‌کند

در حالت «تنظیم مقدار» می‌توانید عدد ثابت یا «متغیر تعداد» بدهید؛ متغیر بر عدد ثابت اولویت دارد. حداقل، حداکثر و گام از خود ووکامرس خوانده و رعایت می‌شوند.

اگر هدف «محصول جاری صفحه» باشد و محصول هنوز در سبد نباشد، «افزایش یک گام» خودش محصول را به سبد اضافه می‌کند.

اعمال کد تخفیف ووکامرس

فیلدتوضیح
کد تخفیفکد ثابت
متغیر کد تخفیفنام متغیری که کد را نگه می‌دارد؛ بر کد ثابت اولویت دارد

معمولاً یک فیلد متن به کاربر می‌دهید، مقدارش را در متغیری می‌ریزید و همان متغیر را اینجا معرفی می‌کنید.

به‌روزرسانی سبد خرید

سبد را دوباره از سایت می‌خواند و متغیرهای سبد را تازه می‌کند. برای دکمه «تلاش مجدد» و پس از بازگشت به صفحه سبد مناسب است.


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

همه این عملکردها به افزونه اختصاصی نیاز دارند.

ورود به حساب وردپرس

فیلدتوضیح
متغیر نام کاربری/ایمیلنام متغیر فیلد ورودی
متغیر رمز عبورنام متغیر فیلد رمز

پس از ورود موفق، sys.wordpress.authenticated برابر true می‌شود، sys.wordpress.user پر می‌شود و فرم‌های profile و checkout خودکار با اطلاعات کاربر مقداردهی می‌شوند.

ثبت‌نام در وردپرس

فیلدتوضیح
متغیر اطلاعات ثبت‌ناممتغیری که مقدارش یک آبجکت است

ساختار آبجکت:

{
"email": "user@example.com",
"password": "at-least-8-chars",
"username": "optional",
"first_name": "نام",
"last_name": "نام خانوادگی"
}

email و password اجباری‌اند و رمز باید حداقل ۸ کاراکتر باشد. اگر username ندهید، از ایمیل ساخته می‌شود. هم «اجازه ثبت‌نام از اپ» در افزونه و هم عضویت عمومی در تنظیمات وردپرس باید روشن باشند.

پس از ثبت‌نام، کاربر هنوز وارد نمی‌شود. یک پیوند یک‌بارمصرف با اعتبار ۲۴ ساعت به ایمیل او فرستاده می‌شود و ورود فقط پس از باز کردن آن پیوند ممکن است. پاسخ موفق دارای verification_required است و در sys.wordpress.lastResult قرار می‌گیرد.

ارسال مجدد ایمیل تأیید

فیلدتوضیح
متغیر ایمیلنام متغیری که ایمیل کاربر را نگه می‌دارد

برای جلوگیری از افشای وجود حساب، پیام پاسخ همیشه عمومی است: «اگر حساب تأییدنشده باشد، ایمیل جدید ارسال شد.» فقط برای حساب تأییدنشده ایمیل ارسال می‌شود و درخواست‌ها محدودیت زمانی دارند.

ارسال کد ورود موبایلی

فیلدتوضیح
متغیر شماره موبایلنام متغیر فیلد شماره
پیش‌شماره کشورپیش‌فرض +98
اگر کاربر وجود نداشت ثبت‌نام شودساخت حساب جدید هنگام ورود

شناسه درخواست در sys.wordpress.lastResult برمی‌گردد؛ آن را در یک متغیر ذخیره کنید تا در مرحله تأیید استفاده شود.

تأیید کد ورود موبایلی

فیلدتوضیح
متغیر شناسه درخواستهمان مقدار مرحله قبل
متغیر کد تأییدکدی که کاربر وارد می‌کند

ارسال مجدد کد ورود موبایلی

فقط «متغیر شناسه درخواست» را می‌گیرد. فاصله مجاز ارسال مجدد در تنظیمات افزونه تعیین می‌شود.

به‌روزرسانی اطلاعات کاربر وردپرس

اطلاعات کاربر را دوباره از سایت می‌خواند و sys.wordpress.user و فرم‌های پروفایل را تازه می‌کند. بعد از ویرایش پروفایل یا هنگام باز شدن صفحه حساب کاربری مفید است.

خروج از حساب وردپرس

نشست همین دستگاه را می‌بندد و سبد خرید مهمان جدیدی شروع می‌شود.

خروج از حساب وردپرس در همه دستگاه‌ها

همه نشست‌های فعال کاربر را باطل می‌کند.

بازیابی رمز وردپرس

فیلدتوضیح
متغیر نام کاربری/ایمیلمشخصه حساب

ایمیل بازیابی از خود وردپرس ارسال می‌شود.

ویرایش پروفایل وردپرس

فیلدتوضیح
متغیر اطلاعات پروفایلآبجکت اطلاعات

فیلدهای قابل ویرایش: first_name، last_name، display_name، email، avatar_id و آبجکت‌های billing و shipping.

اگر فرم را به profile.edit و profile.address.* وصل کرده باشید، کافی است متغیر profile.edit یا آبجکت ترکیبی را اینجا معرفی کنید.

تغییر رمز وردپرس

فیلدتوضیح
متغیر رمز فعلی
متغیر رمز جدیدحداقل ۸ کاراکتر

تعامل با محتوا

افزودن محصول به علاقه‌مندی‌ها / حذف از علاقه‌مندی‌ها

روی محصول جاری یا شناسه‌ای که می‌دهید کار می‌کند. برای نمایش فهرست، از سرویس app.favorites استفاده کنید. نیازمند افزونه و ورود کاربر است.

ارسال دیدگاه یا امتیاز

یک عملکرد برای هر دو حالت دیدگاه نوشته و دیدگاه محصول.

فیلدتوضیح
نوع دادهخودکار بر اساس صفحه، دیدگاه نوشته، یا دیدگاه و امتیاز محصول
شناسه ثابتبا «استفاده از نوشته/محصول جاری» لازم نیست
متغیر متن دیدگاهپیش‌فرض review.content
متغیر امتیازپیش‌فرض review.rating
امتیاز پیش‌فرضعدد ۱ تا ۵ وقتی متغیر امتیاز خالی است

در حالت «خودکار»، اگر آیتم جاری محصول باشد دیدگاه به‌همراه امتیاز ثبت می‌شود؛ در غیر این صورت دیدگاه معمولی نوشته ثبت می‌شود.

وضعیت ارسال در sys.inPage.feedback.* منتشر می‌شود: submitting، success، error و result. با این متغیرها دکمه را قفل و پیام نتیجه را نمایش دهید.

ویرایش دیدگاه وردپرس / حذف دیدگاه وردپرس

روی دیدگاه جاری یا شناسه داده‌شده. برای ویرایش، «متغیر متن دیدگاه» را بدهید. کاربر فقط دیدگاه‌های خودش را می‌تواند تغییر دهد.

اعمال گزینه انتخاب‌شده روی محصول

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

دو فیلد «متغیر کلید گزینه» و «متغیر مقدار گزینه» دارد که در حالت عادی خالی می‌مانند؛ آن‌وقت مقادیر sys.inPage.optionSelector.changedKey و sys.inPage.optionSelector.changedValue استفاده می‌شوند. اگر گزینه برای محصول قابل انتخاب نباشد، پیام مناسب نمایش داده می‌شود.


سفارش و پرداخت

ترتیب اجرای این عملکردها مهم است؛ توضیح کامل مسیر در سبد خرید، سفارش و پرداخت آمده است.

ثبت آدرس و دریافت نرخ‌های ارسال

فیلدتوضیح
متغیر آدرس صورتحسابآبجکت آدرس
آدرس ارسال همان آدرس صورتحساب استبرای فرم تک‌آدرسه
متغیر آدرس ارسالوقتی آدرس ارسال جداست

آدرس روی سبد ثبت می‌شود تا ووکامرس هزینه ارسال و مالیات را حساب کند. پس از موفقیت، روش‌های ارسال در sys.woocommerce.shippingRates و درگاه‌ها در sys.woocommerce.paymentMethods قرار می‌گیرند.

فیلدهای آدرس: first_name، last_name، company، country، state، city، address_1، address_2، postcode، phone، email.

انتخاب روش ارسال

فیلدتوضیح
استفاده از روش ارسال ردیف جاری فهرستدر الگوی آیتم لیست روش‌های ارسال
متغیر شناسه روش ارسالنام متغیر
شناسه ثابت روش ارسالمانند flat_rate:3
شماره بسته ارسالپیش‌فرض صفر

دریافت درگاه‌های پرداخت

فهرست درگاه‌های فعال را در sys.woocommerce.paymentMethods می‌گذارد. نیازمند افزونه اختصاصی است.

انتخاب درگاه پرداخت جاری

روی ردیف جاری فهرست درگاه‌ها اجرا می‌شود و شناسه درگاه را در checkout.payload.payment_method می‌نویسد.

ثبت سفارش و شروع پرداخت

فیلدتوضیح
متغیر اطلاعات پرداختمعمولاً checkout.payload
الگوی نشانی بازگشتخالی بگذارید تا خودکار تشخیص داده شود

ساختار حداقلی آبجکت پرداخت:

{
"billing_address": { "first_name": "...", "address_1": "...", "city": "...", "country": "IR", "email": "...", "phone": "..." },
"shipping_address": { "first_name": "...", "address_1": "...", "city": "...", "country": "IR" },
"payment_method": "cod",
"customer_note": "اختیاری"
}

اگر shipping_address را ندهید، همان billing_address استفاده می‌شود.

پس از ثبت سفارش، اگر درگاه نیاز به هدایت داشته باشد، صفحه پرداخت داخل اپ باز می‌شود و با بازگشت به صفحه نتیجه ووکامرس بسته می‌شود. سپس وضعیت واقعی سفارش دوباره از سایت خوانده و در sys.woocommerce.lastOrderStatus و sys.woocommerce.lastOrderPaid قرار می‌گیرد.

لغو سفارش ووکامرس

روی سفارش جاری یا شناسه داده‌شده. فقط سفارش‌هایی که ووکامرس اجازه لغو آن‌ها را می‌دهد لغو می‌شوند.

درخواست بازپرداخت یا مرجوعی

فیلدتوضیح
متغیر دلیل بازپرداختمتن حداقل ۵ کاراکتری

این عملکرد درخواست را برای مدیر فروشگاه ثبت می‌کند و خودش پول را برنمی‌گرداند.


مدیریت محتوا و فروشگاه

این عملکردها علاوه بر افزونه و ورود، به سطح دسترسی مناسب کاربر در وردپرس نیاز دارند. با آن‌ها می‌توانید یک «پنل مدیریت» ساده داخل اپ بسازید.

ایجاد یا ویرایش نوشته/برگه

فیلدتوضیح
نوع محتوانوشته یا برگه
شناسهخالی برای ایجاد، پر برای ویرایش
متغیر اطلاعات محتواآبجکت محتوا

نمونه:

{ "title": "عنوان", "content": "متن", "status": "publish", "categories": [12] }

حذف نوشته/برگه

روی محتوای جاری یا شناسه داده‌شده.

ایجاد یا ویرایش رسانه / حذف رسانه

برای مدیریت فایل‌های کتابخانه رسانه؛ نیازمند دسترسی بارگذاری فایل.

ایجاد یا ویرایش محصول فروشگاه / حذف محصول فروشگاه

نیازمند دسترسی «مدیریت ووکامرس». نمونه اطلاعات محصول:

{ "name": "نام محصول", "regular_price": "250000", "stock_status": "instock", "status": "publish" }

تغییر وضعیت سفارش فروشگاه

فیلدتوضیح
شناسهسفارش جاری یا شناسه داده‌شده
متغیر وضعیت و یادداشت سفارشآبجکت
{ "status": "completed", "note": "ارسال شد" }

مطالب مرتبط