Miss Dev
Miss Dev
خواندن ۳ دقیقه·۴ سال پیش

استفاده از وردپرس به عنوان بک اند

سلام به همه ویرگولی ها خصوصا فرانت اند دولوپرها ( توسعه دهندگان فرانت اند ) در این مطلب قصد دارم استفاده از وردپرس به عنوان بک اند در وب اپلیکیشن های Vue,React,Angular و... را آموزش بدم.

برای شروع یه دایرکتوری جدا باید در پنل هاست خودتون ایجاد کنید ( Addon Domain ) و وردپرس رو نصب کنین. موقع نصب حتما تیک گزینه از موتورهای جستجو درخواست کن تا محتوای سایت را بررسی نکنند رو حتما بزنین.

افزونه هایی که باید نصب کنین:

افزونه Akismet Spam Protection ( که البته به صورت پیش فرض نصب هست )

افزونه Persian Date ( برای تاریخ شمسی )

افزونه ACF و ACF to Rest API ( برای ساخت زمینه سفارشی و نمایش زمینه ها در رست ای پی آی )

افزونه Smush - Lazy load images ( برای کم کردن حجم عکس ها )

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

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

خب در فایل index.php میایم یه تیکه کد جاوا اسکریپت قرار میدیم که اگر کسی دایرکتوری بک اند ما رو فهمید و خواست باز کنه یک راست وارد فرانت ما بشه ( همون دایرکتوری که قراره وب اپلیکیشنمون باشه )

frontend = your domain
frontend = your domain

خب تا اینجا کار صفحه index.php تموم شد و آدرس سایت اصلی که همون اپلیکیشن Vue یا React یا Angular و ... خودتون هست رو جایگزین کنین.

در فایل functions.php اصلی ترین بخش کار ما است و تمام تنظیمات Rest API اونجا انجام میشه و خیلی مهمه. در این فایل یه سری کد رو باید قرار بدیم اولین کدی که باید قرار بدیم دسترسی CORS هست که اگه تنظیم نشه نمی تونین با API در اپلیکیشن خودتون کار کنین:

CORS header Access
CORS header Access

چند تا کد دیگه قرار میدم براتون برای راحتی کار، یه مشکلی که ممکنه باهاش برخورد کنین مشکل تاریخ در پست تایپ ها و نوشته هاس که فرمتی که شما در تنظیمات اصلی وردپرس برای تاریخ انجام میدین رو در بخش wp-json نشون نمیده و کلی اذیت کنندس، برای رفع این مشکل باید یک رست ای پی آی برای تاریخ ایجاد کنین:

formated date rest api
formated date rest api

در کد بالا که نوشتم در قسمت array پست تایپ هایی که به تاریخ نیاز دارن رو وارد کنین.

مشکل بعدی که باهاش برخورد میکنین برای گرفتن عکس های تصویر شاخص مطالب هست. برای اینکه بدون دردسر بتونین تصویرها رو در wp-json شناسایی کنین و بگیرید نیاز به یک تکه کد دیگه دارین:

با نوشتن کد بالا اول میایم میگیم id مرتبط با هر تصویر رو بگیر بعد بیا برامون یه نقطه Rest درست بکن به اسم featured_image شما میتونین هر اسمی که دوس دارین قرار بدین. و گفتیم به پست تایپ post این نقطه رست ای پی آی رو تزریق کن که هر پست تایپی که دارین میتونین وارد بکنین.

خب دوستان کدهایی که عکس گذاشتم ازش از کامپیوتر خودم هست و تجربیات خودم هست، اگه جایی خواستین این مطالب رو نشر بدین با ذکر منبع این کارو بکنین ممنون میشم.

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

vuerest apiwordpress rest apiwordpress backend
مهسا هستم، علاقه مند به حوزه برنامه نویسی و طراحی و توسعه وب اپلیکیشن.
ترفند ها و پلاگین های کاربری را با هم به اشتراک میگذاریم
شاید از این پست‌ها خوشتان بیاید