عملکردهای وردپرس و ووکامرس
این عملکردها در فرم انتخاب عملکرد، زیر گروه وردپرس قرار دارند. برای افزودن آنها، مثل هر عملکرد دیگری روی رویداد یک ویجت یا صفحه، عملکرد جدید بسازید و از منوی وردپرس انتخاب کنید.
قواعد مشترک
قبل از رفتن سراغ فهرست، چهار نکته در همه این عملکردها تکرار میشود:
سایت وردپرسی
اگر خالی بماند، سایت انتخابشده در تنظیمات اپ استفاده میشود. فقط در اپهای چندسایته لازم است آن را پر کنید.
«استفاده از آیتم فعلی»
اگر روشن باشد، عملکرد روی همان نوشته، محصول، دیدگاه، سفارش یا ردیفی اجرا میشود که صفحه یا ردیف لیست نمایش میدهد. اگر خاموش شود، باید شناسه را دستی وارد کنید. در الگوی لیست و صفحه جزئیات، تقریباً همیشه باید روشن بماند.
فیلدهایی که «متغیر» میخواهند
فیلدهایی مثل «متغیر رمز عبور» یا «متغیر اطلاعات پرداخت» نام متغیر میگیرند، نه مقدار. مقدار متغیر فقط هنگام اجرا خوانده میشود، بنابراین اطلاعات حساس داخل تنظیمات اپ ذخیره نمیشود.
نتیجه اجرا
هر عملکرد وردپرسی، نتیجه خود را در این دو متغیر میگذارد:
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": "ارسال شد" }