یادم می‌آید چند سال پیش، وقتی اولین افزونه جدی‌ام را در مخزن رسمی منتشر کردم، سه ماه بعد با پیامی از تیم بازبینی روبرو شدم که استانداردهای جدیدی برای sanitize داده‌ها اعمال شده و افزونه من باید بازنویسی شود. آن روز، عصبانیت اولیه‌ام جای خودش را به این درک داد که تغییرات استانداردها، به‌نفع همه اکوسیستم است؛ حتی اگر در لحظه، آزاردهنده باشد. امروز، به‌عنوان یک توسعه‌دهنده، این‌که تحولات اکوسیستم WordPress را از نزدیک دنبال می‌کنم، بخشی از کارم شده. در این مقاله، آخرین اخبار مهم برای توسعه‌دهندگان را از چند منظر بررسی می‌کنم. اگر تازه با حوزه توسعه وردپرس آشنا می‌شوید، ابتدا توسعه وردپرس چیست و از کجا باید شروع کنیم را بخوانید.

چرا پیگیری تحولات برای توسعه‌دهندگان مهم است؟

در دنیای توسعه، تفاوت بین توسعه‌دهنده حرفه‌ای و غیرحرفه‌ای، معمولاً در پیگیری تحولات نیست؛ در واکنش درست به آن‌ها است. کسی که تغییرات را می‌بیند و به‌موقع خودش را سازگار می‌کند، در بلندمدت پروژه‌های پایدارتر و مشتریان راضی‌تری دارد.

در تجربه پروژه‌های واقعی، بارها دیده‌ام که توسعه‌دهندگانی که تحولات اکوسیستم را نادیده می‌گیرند، در نهایت هزینه سنگینی می‌پردازند. افزونه‌ای که در نسخه جدید هسته شکسته می‌شود، قالبی که با گوتنبرگ سازگار نیست، کدی که به‌دلیل استاندارد جدید رد می‌شود. این مشکلات، معمولاً در بدترین زمان (مثلاً وسط یک کمپین) رخ می‌دهند. برای مطالعه بیشتر درباره اکوسیستم فنی، ساختار هسته وردپرس چگونه کار می‌کند را بخوانید.

توسعه‌دهنده حرفه‌ای، کسی نیست که همه تحولات را می‌داند؛ کسی است که می‌داند کجا باید ببیند و چه‌وقت باید عمل کند.

تغییرات هسته و حداقل پیش‌نیازها

یکی از مهم‌ترین تحولات سال‌های اخیر، افزایش تدریجی حداقل پیش‌نیازهای هسته است. هسته وردپرس، حداقل نسخه PHP خود را از PHP 5.6 به PHP 7.4 و در نسخه‌های آینده احتمالاً به PHP 8.0 افزایش داده است. این تغییر، از یک سو امنیت و سرعت بالاتری فراهم می‌کند و از سوی دیگر، برای پروژه‌هایی که روی هاست‌های قدیمی اجرا می‌شوند، چالش ایجاد می‌کند.

برای توسعه‌دهندگان، این تغییرات چند پیامد عملی دارد. اول، در کد افزونه‌ها و قالب‌ها، باید از توابع و سینتکس‌هایی که در نسخه‌های بالاتر PHP حذف یا منسوخ شده‌اند، پرهیز کنند. دوم، در تعریف پیش‌نیاز افزونه، حداقل نسخه PHP را دقیق مشخص کنند. سوم، در پروژه‌های موجود، قبل از هر به‌روزرسانی هسته، محیط staging را با نسخه جدید تست کنند. برای مطالعه بیشتر، تفاوت PHP 7 و PHP 8 را بخوانید.

نکته‌ای که در پروژه‌های واقعی زیاد دیده‌ام، مقاومت مشتری‌ها در برابر ارتقای PHP است. مشتری می‌گوید سایت من الان کار می‌کند، چرا باید تغییر بدهم. پاسخ صادقانه این است: سایت شما کار می‌کند ولی در معرض آسیب‌پذیری‌های شناخته‌شده است. اگر روی PHP 7.4 هستید، برخی از پچ‌های امنیتی را دریافت نمی‌کنید. ارتقا، فقط یک توصیه فنی نیست، یک نیاز امنیتی است.

تغییرات در فایل‌های هسته و APIها

هسته وردپرس در هر نسخه، تعدادی از APIها را اضافه، تغییر یا منسوخ می‌کند. در نسخه‌های اخیر، تغییرات مهمی در چند API اصلی دیده شده است. یکی از مهم‌ترین آن‌ها، API مربوط به مدیریت تنظیمات قالب (Customizer) است که به‌تدریج جای خودش را به theme.json می‌دهد. تغییر دیگر، در API مربوط به ویجت‌ها است که به سمت ویجت‌های بلوکی حرکت می‌کند.

برای توسعه‌دهندگان، این تغییرات به‌معنای نیاز به یادگیری مداوم است. یکی از توصیه‌های جدی من این است که هر سه ماه، فهرست تغییرات هسته در نسخه‌های اخیر را مرور کنید. این نوع پیگیری، از شکستن پروژه‌های فعلی در آینده جلوگیری می‌کند. برای مطالعه بیشتر، استانداردهای کدنویسی وردپرس چیست را بخوانید.

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

استانداردهای کدنویسی وردپرس در سال‌های اخیر سخت‌گیرانه‌تر شده‌اند. این تغییر، در چند محور اصلی دیده می‌شود:

  • الزام به استفاده دقیق از توابع sanitize و escape در همه ورودی‌ها و خروجی‌ها
  • الزام به استفاده از nonce در همه فرم‌ها و درخواست‌های POST
  • الزام به استفاده از توابع بومی وردپرس برای کوئری‌های دیتابیس، به‌جای SQL خام
  • الزام به رعایت ساختار نام‌گذاری توابع و متغیرها بر پایه استانداردهای وردپرس
  • الزام به رعایت بین‌المللی‌سازی (i18n) در همه رشته‌های متنی

در پروژه‌های بازبینی که داشتم، بیشترین مشکلات توسعه‌دهندگان تازه‌کار در دو حوزه بوده است: استفاده از SQL خام و عدم استفاده از nonce. این دو، هم امنیت را کاهش می‌دهند و هم در بازبینی مخزن رسمی، رد می‌شوند. برای مطالعه دقیق‌تر، نوشتن کد PHP امن برای وردپرس را بخوانید.

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

تحولات گوتنبرگ و بلوک‌محوری

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

مهم‌ترین تحولات در گوتنبرگ:

  • پشتیبانی از بلوک‌های سفارشی با ساختار مبتنی بر JavaScript
  • تکامل Block Patterns برای ساخت الگوهای قابل استفاده مجدد
  • بهبود APIهای بلوک برای ذخیره و بازیابی داده‌های پیچیده
  • اتصال به سیستم theme.json برای مدیریت متمرکز استایل‌ها
  • ابزارهای جدید برای تست بلوک‌ها در محیط‌های مختلف

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

نکته مهم در توسعه بلوک، توجه به performance است. بلوک‌های سنگین با درخت DOM پیچیده، به سرعت به گلوگاه تبدیل می‌شوند. توصیه من این است که بلوک‌ها را ساده نگه دارید و از کامپوننت‌های بومی گوتنبرگ تا حد ممکن استفاده کنید. این کار، هم سرعت ادیتور را بالا می‌برد و هم تجربه کاربری بهتری فراهم می‌کند. برای مطالعه بیشتر، گوتنبرگ و آینده ویرایش محتوا در وردپرس را بخوانید.

Full Site Editing و اثر آن بر توسعه قالب

Full Site Editing یا FSE، یکی از بنیادی‌ترین تحولات چند سال اخیر است که چارچوب ساخت قالب‌های وردپرس را دگرگون می‌کند. در FSE، بخش اعظم قالب با فایل‌های HTML، JSON و theme.json ساخته می‌شود، به‌جای PHP سنتی.

این تغییر، برای توسعه‌دهندگان قالب، چند پیامد مهم دارد:

  • کاهش نیاز به نوشتن PHP در قالب، و افزایش اهمیت تسلط بر JSON و بلوک‌ها
  • تمرکز تنظیمات در theme.json، به‌جای پراکندگی در فایل‌های PHP
  • امکان ساخت نسخه‌های متنوع از یک قالب با theme variations
  • افزایش سازگاری با هسته، ولی کاهش امکان سفارشی‌سازی عمیق به سبک سنتی

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

تحولات REST API و GraphQL

REST API، در چند سال اخیر به ستون فقرات معماری‌های مدرن وردپرس تبدیل شده است. برای توسعه‌دهندگان، این تغییر، امکان ساخت معماری‌های Headless را فراهم کرده که در آن وردپرس به‌عنوان بک‌اند و فریم‌ورک‌های مدرن به‌عنوان فرانت‌اند استفاده می‌شوند.

مهم‌ترین تحولات در این حوزه:

  • گسترش endpointهای REST API برای پوشش همه نوع‌نوشته‌ها و تاکسونومی‌ها
  • بهبود مکانیزم‌های احراز هویت (JWT، OAuth، Application Passwords)
  • افزایش امنیت APIها با مکانیزم‌های جدید و اصلاح آسیب‌پذیری‌ها
  • پشتیبانی از نسخه‌بندی API برای سازگاری بیشتر
  • ابزارهای بهتر برای مستندسازی APIها

برای توسعه‌دهندگانی که روی معماری Headless کار می‌کنند، این تحولات اساسی است. در پروژه‌هایی که داشتم، انتخاب بین REST و GraphQL به نیاز پروژه بستگی داشت. REST برای APIهای ساده و مستقیم مناسب است، GraphQL برای APIهای پیچیده با درخواست‌های متنوع. برای مطالعه بیشتر، GraphQL یا REST؟ راهنمای انتخاب برای پروژه‌های واقعی را بخوانید.

Application Passwords و احراز هویت API

یکی از قابلیت‌های مهم چند سال اخیر، Application Passwords است که امکان احراز هویت امن در APIها را بدون نیاز به ذخیره رمز اصلی فراهم می‌کند. این قابلیت، برای پروژه‌هایی که به‌طور مستمر با APIها کار می‌کنند، بسیار مفید است. اگر با این مفهوم آشنا نیستید، احراز هویت در REST API را بخوانید.

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

یکی از تحولات مهم سال‌های اخیر، ورود ابزارهای هوش مصنوعی به گردش‌کار توسعه‌دهندگان وردپرس است. این ابزارها، در چند محور اصلی استفاده می‌شوند:

  • تولید کدهای تکراری مانند register_post_type و register_taxonomy
  • بازبینی کد و پیشنهاد بهبود در ساختار و امنیت
  • تولید تست‌های خودکار و داک‌بلاک برای توابع
  • دیباگ و پیشنهاد راه‌حل برای خطاهای رایج
  • تبدیل مستندات فنی به کد قابل استفاده

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

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

تغییرات امنیتی مهم

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

مهم‌ترین تغییرات امنیتی:

  • الزام به استفاده از HTTPS در همه ارتباطات با APIهای هسته
  • سخت‌گیری در بررسی امنیتی افزونه‌ها و قالب‌های مخزن رسمی
  • افزایش امنیت sessionها با مکانیزم‌های جدید
  • الزام به استفاده از nonce در همه درخواست‌های POST و AJAX
  • بهبود مکانیزم‌های احراز هویت دو مرحله‌ای (2FA)

در پروژه‌های بازبینی، مهم‌ترین اشتباهات امنیتی که دیده‌ام، دو دسته هستند: عدم استفاده از nonce و عدم sanitize ورودی‌ها. این دو، شایع‌ترین منشأ آسیب‌پذیری‌های XSS و CSRF در پروژه‌های وردپرسی هستند. برای مطالعه دقیق‌تر، راهنمای امنیت وردپرس برای مبتدیان را بخوانید.

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

اولویت‌های عملکرد در هسته

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

مهم‌ترین تغییرات عملکردی:

  • بارگذاری تنبل پیش‌فرض برای تصاویر (native lazy loading)
  • بهینه‌سازی کوئری‌های هسته و کاهش کوئری‌های اضافه
  • پشتیبانی بهتر از کش‌های شیء (Object Cache) و کش‌های صفحه
  • افزایش تمرکز روی Core Web Vitals در کد قالب و افزونه
  • ابزارهای جدید برای شناسایی گلوگاه‌های عملکرد

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

پرسش‌های پرتکرار برای توسعه‌دهندگان

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

آیا وردپرس در آینده نزدیک به PHP 8 نیاز پیدا خواهد کرد؟

در نسخه‌های اخیر، هسته وردپرس به‌طور رسمی از PHP 7.4 به بالا پشتیبانی می‌کند. در نسخه‌های آینده، انتظار می‌رود که حداقل نسخه PHP به 8.0 یا بالاتر ارتقا یابد. برای توسعه‌دهندگان، توصیه من این است که امروز خودشان را با PHP 8.x سازگار کنند، چون روند اجتناب‌ناپذیر است. برای مطالعه بیشتر، تفاوت PHP 7 و PHP 8 را بخوانید.

آیا شورت‌کدها در آینده حذف می‌شوند؟

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

چگونه از تغییرات هسته مطلع شوم؟

چند منبع اصلی: بلاگ رسمی WordPress.org، خبرنامه WordPress Developer Blog، حساب‌های تیم هسته در GitHub و Slack، و جلسات هفتگی تیم‌های مختلف. توصیه من این است که در یکی دو منبع اصلی عضو شوید و هفتگی مرور کنید. برای مطالعه بیشتر، وردپرس و هوش مصنوعی: اخبار جدید را بخوانید.

آیا برای توسعه افزونه، تسلط بر JavaScript ضروری است؟

در دنیای امروز، پاسخ به‌طور فزاینده بله است. با گسترش گوتنبرگ و FSE، بخش بزرگی از توسعه افزونه‌ها نیازمند JavaScript مدرن است. حتی اگر امروز فقط با PHP کار می‌کنید، توصیه می‌کنم در سال آینده روی JavaScript و React سرمایه‌گذاری کنید. این مهارت، در سه تا پنج سال آینده، از ضروریات حرفه‌ای خواهد بود.

آیا کد تولیدشده توسط هوش مصنوعی قابل اعتماد است؟

پاسخ دقیق: بستگی به زمینه و بازبینی دارد. کد تولیدشده توسط هوش مصنوعی، مثل کد یک توسعه‌دهنده جوان است: ممکن است ظاهراً کار کند، ولی باگ‌های ظریف یا آسیب‌پذیری‌های امنیتی داشته باشد. توصیه من این است که هرگز کد AI را بدون بازبینی انسانی در پروژه‌های حساس استفاده نکنید. برای مطالعه بیشتر، آیا کد تولید شده توسط هوش مصنوعی قابل اعتماد است را بخوانید.

نگاه معماری به تحولات توسعه

از دیدگاه یک معمار نرم‌افزار ارشد، تحولات چند سال اخیر را می‌توان در قالب یک تغییر بنیادی تحلیل کرد: حرکت از یک معماری مبتنی بر فایل به یک معماری مبتنی بر داده ساختاریافته. در معماری سنتی، هر قالب و افزونه، منطق خودش را در فایل‌های PHP داشت. در معماری جدید، theme.json، block.json و APIهای REST، داده ساختاریافته را در مرکز قرار می‌دهند.

این تغییر، سه پیامد اساسی برای توسعه‌دهندگان دارد. اول، نیاز به مهارت‌های جدید در JavaScript مدرن و معماری داده. دوم، کاهش اهمیت تخصص در PHP سنتی، ولی افزایش اهمیت درک معماری لایه‌ای. سوم، افزایش اهمیت استانداردها و سازگاری بین‌افزونه‌ای.

در سطح فنی، این تغییر به‌معنای افزایش استفاده از ابزارهای مدرن مثل Composer، npm و CI/CD است. برای توسعه‌دهندگانی که با این ابزارها آشنا نیستند، یادگیری آن‌ها در اولویت است. اگر با Composer در PHP آشنا نیستید، آموزش Composer در PHP را بخوانید. اگر با CI/CD آشنا نیستید، پیاده‌سازی CI/CD برای پروژه‌های وردپرسی را ببینید.

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

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

در نهایت، نکته‌ای که در تجربه‌ی همه پروژه‌های موفق دیده‌ام: توسعه‌دهنده‌ای که در برابر تغییرات مقاومت می‌کند، در بلندمدت بازنده است. توسعه‌دهنده‌ای که تغییرات را زودتر می‌پذیرد و خودش را سازگار می‌کند، در بلندمدت مزیت رقابتی پیدا می‌کند. این ساده‌ترین و صادقانه‌ترین درس چند سال اخیر است.

آنچه ارزش به‌خاطر سپردن دارد

تحولات اخیر در اکوسیستم وردپرس، برای توسعه‌دهندگان، تصویری روشن ترسیم می‌کنند: حرکت به سمت معماری داده‌محور، افزایش اهمیت JavaScript مدرن، سخت‌گیری بیشتر در استانداردها و امنیت، و ورود ابزارهای هوش مصنوعی به گردش‌کار روزمره. محورهای اصلی این تحولات را می‌توان در پنج نکته خلاصه کرد: افزایش حداقل نسخه PHP، سخت‌گیری در استانداردهای کدنویسی، بلوک‌محور شدن تجربه کاربری و توسعه، رشد معماری Headless با REST API، و ترکیب هوشمندانه ابزارهای AI با تخصص انسانی.

اگر توسعه‌دهنده تازه‌کار هستید، توصیه من این است که ابتدا روی مبانی PHP، JavaScript و MySQL مسلط شوید، بعد به سمت گوتنبرگ، REST API و ابزارهای مدرن بروید. اگر توسعه‌دهنده حرفه‌ای هستید، روی معماری لایه‌ای، تست خودکار و ابزارهای CI/CD سرمایه‌گذاری کنید. اگر آژانس هستید، تیم خود را برای پذیرش این تحولات آماده کنید. اگر تجربه‌ای از مواجهه با این تحولات دارید و نکته‌ای برای اشتراک، در دیدگاه‌ها بنویسید؛ این نوع تجربه‌های واقعی، به خواننده بعدی کمک می‌کند تصمیم دقیق‌تری بگیرد. ⚙️