WordPress Command Palette یک رابط کاربری مبتنی بر جستجو است که با فشردن یک کلید ترکیبی، تمام دستورات، صفحات، و تنظیمات وردپرس را در دسترس شما قرار می‌دهد. این قابلیت که از نسخه ۶.۳ به هسته وردپرس اضافه شده، سرعت کار با پیشخوان را به شکلی بنیادین افزایش می‌دهد. برخلاف منوهای تودرتوی سنتی، Command Palette با فیلترکردن لحظه‌ای گزینه‌ها، نیاز به جستجوی دستی در میان ده‌ها منو و زیرمنو را حذف می‌کند. در این راهنما، معماری، کاربردها، توسعه سفارشی، و نکات پیشرفته این ابزار بررسی می‌شود. هدف، توانمندسازی کاربران و توسعه‌دهندگان برای بهره‌گیری حرفه‌ای از این قابلیت در پروژه‌های واقعی است.

نخستین بار که Command Palette را باز کردم، احساس کردم یک ترمینال مخفی در وردپرس کشف کرده‌ام. دیگر لازم نبود برای تغییر تنظیمات، مسیر «تنظیمات > نوشتن > ...» را طی کنم یا به دنبال یک برگه خاص در میان ده‌ها صفحه بگردم. همین یک تجربه کافی بود تا آن را به بخشی جدانشدنی از گردش کار روزانه‌ام تبدیل کنم. این راهنما حاصل استفاده مداوم از این ابزار در پروژه‌های واقعی است. ⌨️

Command Palette چیست؟

Command Palette (پالت دستورات) یک رابط کاربری مبتنی بر جستجو است که به کاربران اجازه می‌دهد با تایپ کردن، دستورات، صفحات، و تنظیمات مورد نظر خود را پیدا کرده و اجرا کنند. این مفهوم نخستین بار در ویرایشگرهای کد مانند Visual Studio Code و Sublime Text محبوبیت یافت و سپس به ابزارهای طراحی و مدیریت محتوا راه پیدا کرد. در وردپرس، Command Palette از نسخه ۶.۳ به عنوان یک قابلیت هسته‌ای معرفی شد و در نسخه‌های بعدی به طور مداوم گسترش یافت.[reference:0]

در نگاه اول، Command Palette ممکن است شبیه به یک جستجوی ساده به نظر برسد. اما تفاوت اساسی آن در این است که صرفاً جستجو نمی‌کند؛ بلکه اجرا می‌کند. عملیاتی مانند باز کردن، بستن، انتشار، حذف، و تغییر تنظیمات، همگی از درون Command Palette قابل انجام هستند. این ویژگی آن را از یک ابزار ناوبری صرف به یک مرکز کنترل کامل تبدیل می‌کند. برای آشنایی با مبانی وردپرس، مقاله وردپرس چیست و چگونه شروع به کار با آن کنیم؟ را ببینید.

Command Palette یک نوار جستجو نیست؛ یک مرکز فرماندهی است که تمام عملیات وردپرس را در یک نقطه متمرکز می‌کند.

چرا Command Palette سرعت کار را چند برابر می‌کند؟

برای درک تأثیر Command Palette بر بهره‌وری، باید به ماهیت کار با وردپرس نگاه کرد. مدیریت یک سایت وردپرسی شامل انجام مکرر ده‌ها عملیات مختلف است: ایجاد نوشته جدید، ویرایش قالب، تغییر تنظیمات، مدیریت کاربران، بررسی افزونه‌ها، و بسیاری دیگر. در روش سنتی، هر یک از این عملیات نیازمند طی کردن چندین مرحله ناوبری است.

Command Palette این چرخه را می‌شکند. به جای کلیک بر روی «نوشته‌ها»، سپس «افزودن جدید»، و سپس پر کردن فیلدها، کافی است در Command Palette تایپ کنید «add new post» و Enter بزنید. این کاهش مراحل، در طول یک روز کاری، به صرفه‌جویی قابل توجهی در زمان و انرژی ذهنی منجر می‌شود. مطالعات در حوزه تعامل انسان و کامپیوتر (HCI) نشان می‌دهد که کاهش بار شناختی ناشی از جستجوی منوها، تأثیر مستقیمی بر بهره‌وری دارد.

جدول ۱: مقایسه زمان انجام عملیات رایج با و بدون Command Palette
عملیات روش سنتی با Command Palette صرفه‌جویی تقریبی
ایجاد نوشته جدید منو → نوشته‌ها → افزودن جدید (۳ کلیک) Ctrl+K → "add new post" → Enter ~۷۰٪
رفتن به تنظیمات عمومی منو → تنظیمات → همگانی (۲ کلیک) Ctrl+K → "general" → Enter ~۶۰٪
تغییر حالت ویرایش کلیک روی آیکون‌های بالای صفحه Ctrl+K → "code editor" → Enter ~۸۰٪
یافتن یک صفحه خاص منو → برگه‌ها → جستجو → کلیک Ctrl+K → نام صفحه → Enter ~۷۵٪

علاوه بر این، Command Palette به کشف قابلیت‌های پنهان وردپرس کمک می‌کند. بسیاری از کاربران از وجود گزینه‌هایی مانند «Toggle spotlight mode» یا «Reset styles» بی‌خبرند، زیرا این گزینه‌ها در منوهای تودرتو پنهان شده‌اند. Command Palette با نمایش همه گزینه‌ها در یک لیست قابل جستجو، این قابلیت‌ها را قابل کشف می‌کند. برای مطالعه درباره بهینه‌سازی گردش کار، مقاله مسیر و مهارت‌های یادگیری وردپرس از صفر را ببینید.

تاریخچه و تکامل در وردپرس

Command Palette نخستین بار در وردپرس ۶.۳ معرفی شد. این نسخه که به عنوان آخرین نسخه اصلی مرحله دوم پروژه گوتنبرگ شناخته می‌شود، تمرکز خود را بر ویرایشگر سایت (Site Editor) و قابلیت‌های آن معطوف کرد. Command Palette در ابتدا فقط در ویرایشگر سایت و ویرایشگر نوشته/برگه در دسترس بود.[reference:1]

در نسخه‌های بعدی، دامنه دسترسی آن گسترش یافت. وردپرس ۶.۹ گامی بزرگ در این مسیر برداشت و Command Palette را در سراسر پیشخوان وردپرس (Admin Dashboard) در دسترس قرار داد. این نسخه که با نام «Gene» شناخته می‌شود، Command Palette را به یک ابزار همه‌جا حاضر تبدیل کرد. کاربران می‌توانند از هر بخشی از پیشخوان، اعم از لیست نوشته‌ها، مدیریت افزونه‌ها، یا تنظیمات، با فشردن Ctrl+K به آن دسترسی داشته باشند.[reference:2][reference:3]

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

چگونه به Command Palette دسترسی داشته باشیم؟

دسترسی به Command Palette بسیار ساده است. در هر نقطه از پیشخوان وردپرس، چه در حال ویرایش یک نوشته باشید و چه در حال مرور لیست افزونه‌ها، کافی است کلید ترکیبی زیر را فشار دهید:

  • مک (macOS): ⌘ (Command) + K
  • ویندوز و لینوکس: Ctrl + K

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

در نسخه‌های اخیر وردپرس، آیکون جستجو در نوار مدیریت (Admin Bar) نیز اضافه شده است. با کلیک روی این آیکون، Command Palette باز می‌شود. این گزینه برای کاربرانی که ترجیح می‌دهند از ماوس استفاده کنند، مفید است. برای آشنایی با سایر بخش‌های پیشخوان، مقاله پیشخوان وردپرس چیست و هر بخش آن چه کاری می‌کند؟ را ببینید.

دستورات اصلی و کاربردهای آن‌ها

Command Palette مجموعه گسترده‌ای از دستورات را در دسترس قرار می‌دهد. این دستورات را می‌توان به چند دسته اصلی تقسیم کرد:

دستورات ناوبری (Navigation Commands)

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

  • Go to: Posts — رفتن به لیست نوشته‌ها
  • Go to: Media Library — رفتن به کتابخانه رسانه
  • Go to: Plugins — رفتن به لیست افزونه‌ها
  • Go to: Settings — رفتن به تنظیمات
  • Go to: Users — رفتن به مدیریت کاربران

دستورات محتوایی (Content Commands)

این دستورات مربوط به جستجو و ایجاد محتوا هستند:

  • Add new post — ایجاد نوشته جدید
  • Add new page — ایجاد برگه جدید
  • جستجوی نوشته‌ها و برگه‌ها بر اساس عنوان
  • جستجوی قالب‌ها و بخش‌های قالب

دستورات ویرایشگر (Editor Commands)

این دستورات در ویرایشگر بلاک کاربرد دارند:

  • Toggle settings sidebar — نمایش/مخفی کردن نوار کناری تنظیمات
  • Toggle block inspector — نمایش/مخفی کردن بازرس بلاک
  • Toggle distraction free — فعال‌سازی حالت بدون مزاحمت
  • Open code editor — باز کردن ویرایشگر کد
  • Toggle list view — نمایش/مخفی کردن نمای لیست
  • Toggle fullscreen mode — فعال‌سازی حالت تمام‌صفحه

دستورات استایل و ظاهر (Style Commands)

  • Open styles — باز کردن پنل استایل‌ها
  • Customize CSS — ویرایش CSS سفارشی
  • Style revisions — مشاهده تاریخچه تغییرات استایل
  • Reset styles — بازنشانی استایل‌ها به حالت پیش‌فرض

برای مطالعه درباره مدیریت استایل در وردپرس، مقاله Global Styles در وردپرس چطور مدیریت استایل را متحول کرد؟ را ببینید.

آگاهی از بافت (Context Awareness) در Command Palette

یکی از هوشمندانه‌ترین ویژگی‌های Command Palette، آگاهی از بافت (Context Awareness) است. این بدان معناست که دستورات نمایش‌داده‌شده بسته به موقعیت فعلی شما در وردپرس تغییر می‌کنند. برای مثال، اگر در ویرایشگر سایت (Site Editor) باشید، دستوراتی مانند «View templates» و «Edit template parts» نمایش داده می‌شوند. اما اگر در حال ویرایش یک نوشته باشید، دستوراتی مانند «Publish» و «Save draft» در اولویت قرار می‌گیرند.[reference:4]

سیستم Command Palette از سه بافت اصلی پشتیبانی می‌کند:

  • site-editor: زمانی فعال است که در ویرایشگر سایت هستید.
  • entity-edit: زمانی فعال است که در حال ویرایش یک سند (نوشته، برگه، یا قالب) هستید.
  • block-selection-edit: زمانی فعال است که یک بلاک خاص انتخاب شده است.

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

آگاهی از بافت، تفاوت بین یک جستجوی ساده و یک دستیار هوشمند است. Command Palette می‌داند شما کجا هستید و چه نیاز دارید.

ترکیب با اسلش کامند (Slash Command)

یکی از قابلیت‌های کمتر شناخته‌شده اما بسیار مفید، ترکیب Command Palette با اسلش کامند (Slash Command) است. در ویرایشگر بلاک، می‌توانید با تایپ / در ابتدای یک خط، لیست بلاک‌های قابل درج را مشاهده کنید. این قابلیت مشابه Command Palette عمل می‌کند اما در سطح محتوا.[reference:5]

ترکیب این دو ابزار، گردش کاری قدرتمند ایجاد می‌کند. برای درج یک بلاک، می‌توانید مستقیماً در محتوا تایپ کنید /image و Enter بزنید. برای دستورات سطح بالاتر مانند تغییر تنظیمات ویرایشگر، از Command Palette استفاده کنید. این تفکیک، سرعت کار را در هر دو سطح افزایش می‌دهد. برای مطالعه درباره ویرایشگر بلاک، مقاله Gutenberg چیست و چگونه ویرایش محتوای وردپرس را متحول کرد؟ را ببینید.

محدودیت‌های نسخه هسته وردپرس

با وجود قابلیت‌های فراوان، Command Palette هسته وردپرس محدودیت‌هایی نیز دارد که باید از آن‌ها آگاه بود. یکی از مهم‌ترین محدودیت‌ها این است که Command Palette فعلی، مدیریت افزونه‌ها را پوشش نمی‌دهد. شما می‌توانید با تایپ «Plugins» به صفحه افزونه‌ها بروید، اما نمی‌توانید یک افزونه را مستقیماً از درون پالت فعال یا غیرفعال کنید.[reference:6]

محدودیت دیگر، عدم دسترسی از فرانت‌اند سایت است. Command Palette فقط در پیشخوان و ویرایشگرها در دسترس است و در صفحات عمومی سایت نمایش داده نمی‌شود.[reference:7]

همچنین، در نسخه‌های اولیه، Command Palette فقط در ویرایشگر سایت و ویرایشگر نوشته/برگه کار می‌کرد و در سایر بخش‌های پیشخوان در دسترس نبود. این محدودیت در وردپرس ۶.۹ برطرف شد، اما همچنان برخی از دستورات فقط در بافت‌های خاص در دسترس هستند.[reference:8]

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

توسعه Command Palette با APIهای وردپرس

یکی از قدرتمندترین جنبه‌های Command Palette، قابلیت توسعه آن توسط توسعه‌دهندگان است. وردپرس یک API کامل JavaScript برای ثبت دستورات سفارشی در پالت فراهم کرده است. این API از پکیج @wordpress/commands استفاده می‌کند که از طریق npm قابل نصب است.[reference:9]

انواع دستورات در API

دو روش برای ثبت دستورات وجود دارد:

  • دستورات استاتیک (Static Commands): این دستورات از پیش تعریف شده‌اند و همیشه در دسترس هستند. برای ثبت آن‌ها از wp.data.dispatch( wp.commands.store ).registerCommand یا هوک React به نام wp.commands.useCommand استفاده می‌شود.
  • دستورات داینامیک (Dynamic Commands): این دستورات بر اساس شرایط خاص یا ورودی کاربر تولید می‌شوند. برای ثبت آن‌ها از wp.commands.useCommandLoader استفاده می‌شود. برای مثال، وقتی کاربر تایپ می‌کند «contact»، پالت باید صفحات موجود را فیلتر کرده و صفحه «تماس با ما» را پیدا کند.[reference:10]

ساختار یک دستور

هر دستور یک آبجکت با ویژگی‌های زیر است:

  • name — نام یکتای ماشین‌خوان
  • label — برچسب قابل خواندن برای انسان
  • icon — آیکون SVG
  • callback — تابعی که هنگام انتخاب دستور اجرا می‌شود
  • category — دسته‌بندی دستور (command, view, edit, action)
  • context — بافت دستور (site-editor, entity-edit, block-selection-edit)
  • keywords — آرایه‌ای از کلمات کلیدی برای جستجو

مثال عملی: ثبت یک دستور سفارشی

فرض کنید یک افزونه دارید که یک نوع نوشته سفارشی به نام «Products» ایجاد می‌کند. می‌خواهید یک دستور در Command Palette اضافه کنید که کاربران را به لیست محصولات ببرد. کد زیر این کار را انجام می‌دهد:

import { useCommand } from '@wordpress/commands';
import { useSelect } from '@wordpress/data';
import { store as coreStore } from '@wordpress/core-data';

const MyProductCommand = () => {
    useCommand( {
        name: 'my-plugin/go-to-products',
        label: 'Go to Products',
        icon: 'products',
        category: 'view',
        callback: () => {
            window.location.href = '/wp-admin/edit.php?post_type=product';
        },
        keywords: [ 'product', 'shop', 'store' ],
    } );
    return null;
};

این کد یک دستور استاتیک ثبت می‌کند که با تایپ «product» یا «shop» در Command Palette قابل جستجو است. برای آشنایی با هوک‌های وردپرس، مقاله آموزش استفاده از هوک‌های وردپرس برای توسعه‌دهندگان را ببینید.

مثال پیشرفته: دستور داینامیک با Command Loader

برای دستورات داینامیک که بر اساس ورودی کاربر تولید می‌شوند، از useCommandLoader استفاده کنید. مثال زیر یک لودر برای جستجوی نوشته‌ها ثبت می‌کند:

import { useCommandLoader } from '@wordpress/commands';
import { useSelect } from '@wordpress/data';
import { store as coreStore } from '@wordpress/core-data';

const MyPostLoader = () => {
    useCommandLoader( {
        name: 'my-plugin/search-posts',
        hook: ( search ) => {
            const posts = useSelect( ( select ) => {
                if ( ! search ) return [];
                return select( coreStore ).getEntityRecords( 'postType', 'post', {
                    search: search,
                    per_page: 5,
                } ) || [];
            }, [ search ] );

            return {
                commands: posts.map( ( post ) => ( {
                    name: 'my-plugin/edit-post-' + post.id,
                    label: post.title.rendered,
                    icon: 'edit',
                    category: 'edit',
                    callback: () => {
                        window.location.href = '/wp-admin/post.php?post=' + post.id + '&action=edit';
                    },
                } ) ),
            };
        },
    } );
    return null;
};

این کد به کاربران اجازه می‌دهد با تایپ بخشی از عنوان یک نوشته، آن را در Command Palette پیدا کرده و مستقیماً به ویرایش آن بروند. برای مطالعه درباره REST API، مقاله آموزش استفاده از REST API در وردپرس را ببینید.

نگاهی فنی به معماری Command Palette

از منظر معماری، Command Palette یک پیاده‌سازی از الگوی طراحی Command Pattern است. در این الگو، هر عملیات به یک آبجکت مستقل تبدیل می‌شود که دارای نام، برچسب، و تابع اجرا است. این جداسازی، امکان ثبت، حذف، و اجرای دستورات را به صورت پویا فراهم می‌کند.

معماری Command Palette از چند لایه تشکیل شده است:

  • لایه ثبت (Registration Layer): مسئول دریافت دستورات از هسته وردپرس، قالب، و افزونه‌ها.
  • لایه فیلتر (Filtering Layer): مسئول فیلتر کردن دستورات بر اساس ورودی کاربر و بافت فعلی.
  • لایه نمایش (Rendering Layer): مسئول نمایش لیست دستورات در رابط کاربری.
  • لایه اجرا (Execution Layer): مسئول فراخوانی تابع callback دستور انتخاب‌شده.

در سطح پیاده‌سازی، وردپرس از پکیج @wordpress/commands برای مدیریت دستورات استفاده می‌کند. این پکیج با @wordpress/data (سیستم مدیریت وضعیت وردپرس) ادغام شده است، به این معنی که وضعیت Command Palette در استور مرکزی وردپرس ذخیره می‌شود. این معماری امکان هماهنگی بین اجزای مختلف ویرایشگر را فراهم می‌کند.[reference:11]

یکی از جنبه‌های مهم معماری، استفاده از wp.commands.useCommandLoader برای دستورات داینامیک است. این هوک از یک تابع بارگذاری (Loader Function) استفاده می‌کند که بر اساس عبارت جستجوی کاربر، لیست دستورات را تولید می‌کند. این رویکرد عملکرد را بهبود می‌بخشد، زیرا فقط دستورات مرتبط با جستجوی کاربر بارگذاری می‌شوند.

تأثیر بر عملکرد و بهینه‌سازی

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

از یک سو، Command Palette با کاهش تعداد درخواست‌های HTTP و بارگذاری صفحات، می‌تواند سرعت کار را افزایش دهد. به جای بارگذاری چندین صفحه برای انجام یک عملیات، کاربر همه کارها را از یک رابط انجام می‌دهد. این کاهش ناوبری، بار سرور را کاهش می‌دهد.

از سوی دیگر، اگر تعداد دستورات ثبت‌شده بسیار زیاد باشد (مثلاً از طریق افزونه‌های شخص ثالث)، فیلتر کردن و نمایش آن‌ها می‌تواند بر عملکرد رابط کاربری تأثیر بگذارد. برای بهینه‌سازی، توصیه می‌شود که دستورات غیرضروری را حذف کنید و از دستورات داینامیک به جای استاتیک استفاده کنید.

در سطح سرور، تابع wp_enqueue_command_palette_assets() مسئول بارگذاری دارایی‌های Command Palette است. این تابع تنظیمات ذخیره‌شده را از دیتابیس می‌خواند و اسکریپت‌ها و استایل‌های لازم را در صف قرار می‌دهد. برای بهینه‌سازی، می‌توانید از کشینگ مناسب استفاده کنید.[reference:12]

برای مهندسان ارشد، درک تأثیر Command Palette بر Core Web Vitals اهمیت دارد. از آنجا که Command Palette عمدتاً در پیشخوان استفاده می‌شود، تأثیر مستقیمی بر معیارهای فرانت‌اند ندارد. اما اگر در آینده به فرانت‌اند گسترش یابد، باید بهینه‌سازی آن در دستور کار قرار گیرد.

دسترس‌پذیری (Accessibility) در Command Palette

دسترس‌پذیری یکی از جنبه‌های مهم هر ابزار مدیریتی است. Command Palette از ابتدا با در نظر گرفتن دسترس‌پذیری طراحی شده است. کاربران می‌توانند به طور کامل با کیبورد با آن کار کنند، که این ویژگی برای افرادی که از صفحه‌خوان (Screen Reader) استفاده می‌کنند یا دارای محدودیت حرکتی هستند، حیاتی است.

با این حال، برخی چالش‌های دسترس‌پذیری در Command Palette هسته وردپرس وجود دارد. برای مثال، برخی کاربران گزارش کرده‌اند که Command Palette با صفحه‌خوان‌ها به درستی کار نمی‌کند. افزونه‌هایی مانند CommandUI به عنوان جایگزین‌های دسترس‌پذیرتر توسعه یافته‌اند.[reference:13]

برای بهبود دسترس‌پذیری، وردپرس از ویژگی‌های ARIA (Accessible Rich Internet Applications) استفاده می‌کند. نوار جستجو دارای برچسب aria-label است و لیست دستورات با نقش‌های مناسب ARIA علامت‌گذاری شده‌اند. با این حال، همچنان فضای بهبود وجود دارد. برای مطالعه درباره اصول دسترس‌پذیری، مقاله WCAG چیست و چه کاربردی دارد؟ را ببینید.

طراحی گردش کار بهره‌ور با Command Palette

برای بهره‌گیری حداکثری از Command Palette، باید آن را به بخشی جدانشدنی از گردش کار روزانه تبدیل کرد. در ادامه، چند استراتژی عملی ارائه می‌شود:

۱. یادگیری دستورات پرکاربرد

لیستی از دستوراتی که بیشتر استفاده می‌کنید تهیه کنید و آن‌ها را به خاطر بسپارید. برای مثال، اگر روزانه چندین نوشته ایجاد می‌کنید، دستور Add new post را حفظ کنید. اگر مرتب تنظیمات را تغییر می‌دهید، دستور Go to: Settings را یاد بگیرید.

۲. استفاده از کلمات کلیدی کوتاه

Command Palette از تطبیق جزئی (Partial Matching) پشتیبانی می‌کند. به جای تایپ کامل «Add new post»، می‌توانید فقط «add post» یا حتی «anp» تایپ کنید. این ویژگی سرعت کار را به شدت افزایش می‌دهد.

۳. ترکیب با سایر میانبرهای صفحه‌کلید

Command Palette تنها یکی از میانبرهای مفید وردپرس است. ترکیب آن با سایر میانبرها مانند Ctrl+S (ذخیره)، Ctrl+Z (واگرد)، و Ctrl+Shift+D (تکرار بلاک) گردش کاری روان ایجاد می‌کند.[reference:14]

۴. سفارشی‌سازی با افزونه‌ها

اگر از افزونه‌هایی استفاده می‌کنید که دستورات سفارشی در Command Palette ثبت می‌کنند، آن‌ها را بررسی و فعال کنید. برای مثال، افزونه‌های امنیتی ممکن است دستور «Scan site» را اضافه کنند.

اشتباهات رایج در استفاده از Command Palette

در استفاده از Command Palette، برخی اشتباهات رایج می‌توانند تجربه را تحت تأثیر قرار دهند:

  • نادیده گرفتن بافت: فراموش نکنید که دستورات بسته به بافت فعلی تغییر می‌کنند. اگر در ویرایشگر سایت هستید، دستور «Publish» را نخواهید دید.
  • تایپ طولانی: نیازی به تایپ کامل دستور نیست. از تطبیق جزئی استفاده کنید.
  • عدم بررسی دستورات موجود: گاهی اوقات یک دستور وجود دارد اما نام آن آن‌قدر متفاوت است که آن را پیدا نمی‌کنید. لیست کامل دستورات را یک بار مرور کنید.
  • نادیده گرفتن محدودیت‌ها: Command Palette هسته وردپرس در برخی زمینه‌ها محدود است. از افزونه‌های مکمل برای پوشش این محدودیت‌ها استفاده کنید.
  • عدم استفاده از آیکون نوار مدیریت: در نسخه‌های اخیر، آیکون جستجو در نوار مدیریت اضافه شده است. اگر کیبورد را فراموش می‌کنید، از این آیکون استفاده کنید.

برای مطالعه درباره سایر خطاهای رایج، مقاله خطاهای رایج وردپرس و رفع مرحله‌به‌مرحله آن‌ها را ببینید.

دیدگاه مهندسی پیشرفته

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

در سطح معماری، Command Palette از یک سیستم مدیریت وضعیت مرکزی (Centralized State Management) استفاده می‌کند که بر پایه @wordpress/data بنا شده است. این سیستم مشابه Redux در اکوسیستم React عمل می‌کند و امکان هماهنگی بین اجزای مختلف را فراهم می‌آورد. دستورات در یک استور مرکزی ثبت می‌شوند و از هر نقطه‌ای قابل دسترسی هستند.

یکی از جنبه‌های پیشرفته، مدیریت بافت (Context Management) است. Command Palette از یک سیستم اولویت‌بندی بافت استفاده می‌کند که دستورات مرتبط با بافت فعلی را در بالای لیست قرار می‌دهد. این سیستم بر پایه یک ساختار سلسله‌مراتبی بافت‌ها عمل می‌کند که در آن هر بافت می‌تواند زیربافت‌های خود را داشته باشد.

برای مهندسان ارشد، درک تعامل Command Palette با سیستم رندر بلاک‌ها ضروری است. دستوراتی که در بافت block-selection-edit ثبت می‌شوند، باید با سیستم انتخاب بلاک هماهنگ باشند. این هماهنگی از طریق @wordpress/data و انتخابگرهای مربوطه انجام می‌شود.

در آینده، انتظار می‌رود که Command Palette با قابلیت‌هایی مانند دستورات مبتنی بر هوش مصنوعی، دستورات شرطی بر اساس نقش کاربر، و ادغام عمیق‌تر با Abilities API گسترش یابد. وردپرس ۶.۹ گام‌های اولیه در این مسیر را برداشته است. برای مطالعه درباره آینده وردپرس، مقاله گوتنبرگ و آینده ویرایش محتوا در وردپرس را ببینید.

پرسش‌های پرتکرار درباره Command Palette

Command Palette در وردپرس چیست و چگونه کار می‌کند؟

Command Palette یک رابط کاربری مبتنی بر جستجو است که با فشردن Ctrl+K (ویندوز) یا ⌘+K (مک) باز می‌شود. این ابزار به شما اجازه می‌دهد با تایپ کردن، دستورات، صفحات، و تنظیمات وردپرس را پیدا کرده و اجرا کنید.

چگونه Command Palette را در وردپرس باز کنم؟

در هر نقطه از پیشخوان وردپرس، کلیدهای Ctrl+K (ویندوز/لینوکس) یا ⌘+K (مک) را فشار دهید. همچنین می‌توانید روی آیکون جستجو در نوار مدیریت کلیک کنید.

آیا Command Palette در فرانت‌اند سایت هم کار می‌کند؟

خیر، Command Palette فقط در پیشخوان وردپرس و ویرایشگرها (ویرایشگر سایت و ویرایشگر نوشته/برگه) در دسترس است. در نسخه‌های فعلی، دسترسی از فرانت‌اند وجود ندارد.

چگونه می‌توانم دستورات سفارشی به Command Palette اضافه کنم؟

با استفاده از API JavaScript وردپرس و پکیج @wordpress/commands می‌توانید دستورات سفارشی ثبت کنید. از هوک useCommand برای دستورات استاتیک و useCommandLoader برای دستورات داینامیک استفاده کنید.

آیا Command Palette بر سرعت سایت تأثیر دارد؟

Command Palette عمدتاً در پیشخوان استفاده می‌شود و تأثیر مستقیمی بر سرعت فرانت‌اند ندارد. اما اگر تعداد دستورات ثبت‌شده بسیار زیاد باشد، می‌تواند بر عملکرد پیشخوان تأثیر بگذارد.

تفاوت Command Palette و Slash Command چیست؟

Command Palette برای دستورات سطح ویرایشگر و ناوبری طراحی شده است، در حالی که Slash Command (تایپ / در محتوا) برای درج سریع بلاک‌ها استفاده می‌شود. هر دو ابزار مکمل یکدیگرند.

آیا Command Palette از زبان فارسی پشتیبانی می‌کند؟

Command Palette از جستجوی متنی پشتیبانی می‌کند، بنابراین اگر عناوین صفحات یا دستورات به فارسی باشند، می‌توانید با تایپ فارسی آن‌ها را پیدا کنید. با این حال، بیشتر دستورات پیش‌فرض به انگلیسی هستند.

آنچه در عمل اهمیت دارد

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

از منظر آینده، انتظار می‌رود که Command Palette به یک مرکز کنترل جامع برای تمام عملیات وردپرس تبدیل شود. با گسترش دامنه دسترسی آن در نسخه‌های اخیر، این ابزار در حال تبدیل شدن به یک بخش جدانشدنی از تجربه وردپرس است. توسعه‌دهندگانی که امروز بر این API مسلط شوند، در آینده مزیت رقابتی خواهند داشت. 🚀

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