چرخه انتشار وردپرس 7.0 با سرعت در حال پیشرفت است تا جاییکه جدیدترین نسخه گوتنبرگ (22.6) ویژگیهای نهایی خود را برای این ورژن آماده انتشار کرده است.
همانطور که در خبرها اشاره کرده بودیم، تیم وردپرس قبل از عرضه نسخه 7.0، صدها بسته بهبود عملکرد و ارتقای امنیت را ارائه کرد تا یکی از کامل ترین نسخه های پایدار این سیستم مدیریت محتوای محبوب در اختیار کاربران قرار گیرد.
بروزرسانی امنیتی وردپرس ئر نسخه 6.9.2 که در تاریخ 10 مارس منتشر شد، 10 آسیبپذیری از جمله SSRF کور، ضعف در API و رجیستری بلاک، DoS رجکس، XSS ذخیره شده، بایپس احراز هویت AJAX، traversal مسیر PclZip و XXE در کتابخانه getID3 را برطرف کرد. همینطور در تاریخ 12 مارس نیز نسخههای 6.9.3، 7.0 بتا 4 و سپس 6.9.4 منتشر شدند.
ویژگیهای فنی وردپرس 7.0
-
همکاری در لحظه (RTC) به وردپرس 7.0 اضافه میشود:
زیرساخت فنی مورد نیاز برای همکاری در لحظه (Real-time Collaboration) پیش از نسخه بتا 4 حل شده و از یک ارائهدهنده همگامسازی مبتنی بر HTTP Polling استفاده میکند. این امر جایگزین WebRTC ناپایدار شده و سازگاری جهانی را در محیطهای مختلف میزبانی تضمین میکند.
دادههای بهروزرسانی (CRDT) به طور دائم در یک نوع پست (wp_sync_storage) ذخیره میشوند و معماری ارائهدهنده این همگامسازی به گونهای طراحی شده که لایههای ذخیرهسازی و انتقال داده قابل تعویض باشند.
همچنین بهروزرسانیها به صورت دورهای فشرده شده و درخواستها دستهبندی میشوند. کد گوتنبرگ در سمت کلاینت در ابتدا RTC را به دو نفر محدود میکند، اما میزبانها میتوانند یک ارائهدهنده متفاوت اضافه کرده یا تنظیمات پیشفرض را از طریق یک ثابت wp-config تنظیم کنند.
-
بستههای ارائهدهنده هوش مصنوعی در دایرکتوری افزونهها:
وردپرس 7.0 با معرفی یک ویژگی (Connector) که بر پایه بسته php-ai-client ساخته شده، انقلابی در ادغام هوش مصنوعی ایجاد میکند که در قالب یک کتابخانه مشترک با PHP امکان ارتباط استاندارد با سرویسهای هوش مصنوعی را فراهم میآورد.
در نسخه جدید وردپرس سه بسته ارائهدهنده مجزا برای OpenAI، Google و Anthropic در دایرکتوری افزونهها در دسترس هستند که به توسعهدهندگان اجازه میدهد تا ویژگیها را یک بار در برابر رابط اشتراکی بنویسند و تغییر ارائهدهنده را تنها با یک تغییر پیکربندی ساده امکانپذیر سازند.
صفحه Connectors در هسته وردپرس قرار خواهد گرفت و قابلیت ذخیره اعتبارنامهها و انتخاب ارائهدهنده را به عنوان زیرساخت در سطح پلتفرم ارائه میدهد.
-
بازبینیها در ویرایشگر (In-Editor Revisions) و ردیابی بصری تغییرات:
پنل بازبینیهای ویرایشگر بلاک اکنون روشی بصری برای ردیابی مستقیم تغییرات در (document inspector) ارائه میدهد. این پروسه توسط روکشهای رنگی صورت میگیرد که تغییرات لازم را نشان میدهند:
- خطوط سبز برای بلاکهای اضافه شده،
- خطوط قرمز برای بلاکهای حذف شده
- خطوط زرد برای بلاکهایی با تنظیمات تغییر یافته
این ویژگی از یک فرآیند دو مرحلهای استفاده میکند به این صورت که ابتدا بررسی سریع بلاکهای تغییر یافته صورت گرفته و سپس مقایسه کامل متن غنی (rich-text) تنها برای بلاکهای علامتگذاری شده انجام می شود. این سیستم از currentColor برای رنگآمیزی سازگار با تم استفاده میکند.
-
ویرایشگر پست Iframed به وردپرس 7.1 موکول شد:
توسعهدهندگان تصمیم گرفتهاند که ویژگی ویرایشگر Iframed را که در ابتدا برای وردپرس 7.0 در نظر گرفته شده بود، به وردپرس 7.1 موکول کنند تا تمرکز بیشتری بر روی ویژگیهای اصلی این نسخه باشد.
-
دستورات جدید wp block و ability در WP-CLI:
وردپرس 7.0 با معرفی دستورات جدید wp block و wp ability در ابزار خط فرمان WP-CLI، قابلیتهای مدیریتی را برای توسعهدهندگان و مدیران سیستم گسترش میدهد. این دستورات امکان مدیریت و بررسی بلاکها و مجوزهای دسترسی را از طریق خط فرمان فراهم میکنند.
همچنین، مجموعهای دیگر از دستورات با نام ability نیز در دست توسعه است که پیش از نسخه 3.0 WP-CLI عرضه میشوند و به عنوان وابستگیهای توسعه (dev dependencies) برای تست در دسترس قرار خواهند گرفت.
توسعهدهندگان میتوانند با استفاده از دستورات wp package install wp-cli/block-command:dev-main wp package install wp-cli/ability-command:dev-main یا از طریق Composer با composer require wp-cli/block-command:dev-main --dev composer require wp-cli/ability-command:dev-main --dev آنها را نصب کنند.
همچنین، استفاده از wp cli update --nightly نیز امکان دسترسی به آخرین نسخه در حال توسعه را فراهم میکند. تیم توسعه هدف خود را انتشار نسخه پایدار 3.0 در پایان ماه مارس قرار داده است.
-
پشتیبانی از phpMyAdmin در زمان اجرای Playground:
برای تسهیل فرآیند توسعه و تست، وردپرس 7.0 پشتیبانی از phpMyAdmin را در زمان اجرای Playground فراهم میکند. این امکان به توسعهدهندگان اجازه میدهد تا پایگاه داده را مستقیماً در محیط توسعه محلی خود مدیریت کنند.
برای فعالسازی این قابلیت، کافیست یک گزینه (true) به پیکربندی .wp-env.json خود اضافه کنید: { "phpmyadmin": true, "runtime": "playground" }. پس از فعالسازی، phpMyAdmin از طریق آدرس http://localhost:8888/phpmyadmin قابل دسترسی خواهد بود و وضعیت wp-env نیز این URL را نمایش میدهد. این ویژگی فرآیند مدیریت پایگاه داده در محیط توسعه را به طور قابل توجهی تسهیل میکند.
-
CSS سفارشی در (Global Styles) انتخابگرهای ویژگی تعریف شده توسط بلاک را رعایت میکند:
یکی از بهبودهای مهم در بخش استایلدهی، این است که CSS سفارشی در تنظیمات استایلهای سراسری اکنون انتخابگرهای ویژگی که توسط بلاکها تعریف شدهاند را به درستی در نظر میگیرد. این امر کنترل دقیقتری بر روی استایلدهی اجزا فراهم میکند.
این تغییر به بلاکها این امکان را میدهد که یک ورودی selectors.css در فایل block.json خود تعریف کنند تا CSS سفارشی را به یک عنصر داخلی خاص (مانند محتوای داخلی، یک تصویر، یا یک <svg>) هدف قرار دهند. این امر کنترل دقیقی بر روی CSS سفارشی در سطح پوسته (theme-level) فراهم میآورد.
-
کار بر روی بسته UI و کامپوننتها ادامه دارد:
تیم توسعه وردپرس همچنان به کار بر روی بسته UI و بهبود کامپوننتهای رابط کاربری ادامه میدهد تا تجربهای یکپارچهتر و مدرنتر برای کاربران و توسعهدهندگان فراهم شود.
بسته UI همچنان با افزودن المانهای اولیه (primitives) و ویژگیهای جدید توسعه مییابد تا از طراحی مجدد داشبورد وردپرس پشتیبانی کند. کامپوننتهایی که اخیراً اضافه شده شامل کامپوننت IconButton، افزودن یک سوئیچ حداقل به کامپوننت Button، کامپوننت اولیه Textarea، کامپوننت Tabs و کامپوننت Dialog است.
همچنین، استفاده از توکنهای ابعاد معنایی (semantic dimension tokens) نیز در این بسته پیادهسازی شده است.
-
بلاک آیکون (Icon Block):
یک بلاک جدید آیکون به گوتنبرگ اضافه شده است که به کاربران اجازه میدهد به راحتی آیکونها را در محتوای خود اضافه و استایلدهی کنند.
این ویژگی توسط API جدید آیکون SVG سمت سرور پشتیبانی میشود که یک نقطه پایانی REST در /wp/v2/icons برای جستجو و فیلتر کردن آیکونها در دسترس قرار می دهد.
در حال حاضر، ثبت مجموعههای آیکون شخص ثالث مجاز نیست و آیکونها از بسته wordpress/icons استخراج میشوند. قابلیت گسترش برای ثبت آیکونهای شخص ثالث در آینده، احتمالاً در وردپرس 7.1 و پس از توسعه بیشتر معماری API رجیستری آیکون، برنامهریزی شده است.
-
الگوهای ناوبری (Navigation Overlays Patterns):
الگوهای جدیدی برای ناوبری معرفی شدهاند که طراحی و پیادهسازی منوهای پیچیده را سادهتر میکنند. این ویژگی دیگر آزمایشی نیست و با وردپرس 7.0 عرضه خواهد شد. یک دکمه “Create overlay” فرآیند راهاندازی را برای کاربر ساده سازی میکند و الگوهایی را برای طرحهای مختلف ارائه میدهد.
این بهبود، طراحی منوهای واکنشگرا و کاربرپسند را برای وبسایتها سادهتر میکند.
-
ویرایش الگوی محتوا (ContentOnly Pattern Editing):
قابلیت ویرایش الگوهایی که فقط شامل محتوا هستند، بهبود یافته است تا کاربران بتوانند بخشهای محتوایی خاصی را به راحتی سفارشیسازی کنند.
در وردپرس 7.0، الگوها به طور پیشفرض در حالت ویرایش “محتوا-محور” (Content-Only) قرار میگیرند. این حالت، فیلدهایی را سازماندهی شده با آیکونهای بلاک و ویژگیهای گروهبندی شده در منوهای بازشو (flyout menus) نمایش میدهد که باعث کاهش شلوغی طراحی برای تولیدکنندگان محتوا میشود.
همچنین قالببندی (Rich text formatting) به صورت درونخطی و بدون وقفه توسط نوار ابزار کار میکند تا هنگامی که به ویرایشهای ساختاری نیاز باشد، جدا کردن الگو (detaching a pattern) دسترسی کامل به بلاکها را بازیابی کند.
مدیران سیستم میتوانند با استفاده از تنظیم جدید disableContentOnlyForUnsyncedPatterns از طریق فیلتر PHP یا ارسال ایونت جاوا اسکریپتی، حالت محتوا-محور را برای الگوهای همگامسازی نشده غیرفعال کنند.
نمونه فیلتر PHP:
add_filter( ‘block_editor_settings_all’, function( $settings ) {
$settings[‘disableContentOnlyForUnsyncedPatterns’] = true;
return $settings;
} );
نمونه ارسال رویداد جاوا اسکریپت:
wp.data.dispatch( ‘core/block-editor’ ).updateSettings( {
disableContentOnlyForUnsyncedPatterns: true,
} );
-
گالری لایتباکس اکنون از ناوبری تصاویر پشتیبانی میکند:
گالری لایتباکس با قابلیت ناوبری تصاویر، تجربه مرور تصاویر را برای کاربران بهبود میبخشد و امکان جابجایی آسان بین عکسها را فراهم میکند. در این بروزرسانی تصاویری که لایتباکس آنها غیرفعال است، به طور خودکار در این ناوبری نادیده گرفته میشوند که نشان دهنده جزئیات فنی در نسخه 7 وردپرس است.
این بهبود، تجربه مرور گالری تصاویر را برای کاربران بسیار روانتر و دلپذیرتر میکند و امکان مشاهده سریع و آسان تمام تصاویر را فراهم میآورد.