
کدهای کوتاه یکی از نقاط اوج وردپرس هستند. کدهای کوتاه پلی میان توسعهدهندگان و سازندگان وبسایت هستند و به افراد امکان میدهند بخشهای پیچیدهای از محتوا را تقریباً در هر جایی که میخواهند قرار دهند. سازندگان افزونهها عاشق کدهای کوتاه هستند، چرا که انعطافپذیری بیشتری در نحوه و مکان نمایش محتوای کاربرانشان فراهم میکند.
اگر نمیدانید کدهای کوتاه چه هستند و چه شکلی دارند، آنها همان متنهای شبیه به کد قدیمی هستند که درون قلابها (براکتها) قرار گرفتهاند. چیزی شبیه به این هستند:
این مورد خاص، کد کوتاه embed نام دارد و بهطور پیشفرض در وردپرس تعبیه شده است. این کد مشخص، ویدیوی موجود در نشانی اینترنتی را در محتوای شما جایگذاری میکند. اگر میخواهید آن را امتحان کنید، کافی است کد کوتاه بالا را در سایت خود کپی و جایگذاری نمایید.
پشت صحنه، اتفاقی که میافتد این است که وقتی وردپرس در محتوای شما با یک کد کوتاه مواجه میشود، آن را پردازش کرده و به چیز دیگری تبدیل میکند. در مثال بالا، هر زمان که یک کد کوتاه
تشخیص داده شود، وردپرس نشانی موجود در کد کوتاه را برداشته و آن را با تعدادی از ارائهدهندگان محتوا که دارد بررسی میکند. هنگامی که یکی را پیدا کرد، سپس کد مناسب جایگذاری iframe را دریافت کرده و به جای آن نمایش میدهد.
پس مشکل کجاست؟ به اندازه کافی ساده به نظر میرسد؛ فقط یک متن کوتاه را با براکت وارد میکنید و کار تمام است.
و اینجاست که رابط برنامهنویسی کد کوتاه (Shortcode API) وارد میشود…
وفور کدهای کوتاه
رابط Shortcode API امکان ساخت کدهای کوتاه را برای توسعهدهندگان فراهم میکند. به همین دلیل، توسعهدهندگان میتوانند کدهای کوتاه اختصاصی خود را درون افزونههایشان اضافه کنند.
این فوقالعاده است؛ اکنون تنها با یک قطعهکد کوتاه شبیه به کد (از این رو به آن «کد کوتاه» میگویند)، کاربران مبتدی و پیشرفته به یک اندازه میتوانند عملاً هر نوع محتوایی را که میخواهند در هر کجا قرار دهند.
وردپرس بهطور پیشفرض تنها تعداد انگشتشماری کد کوتاه دارد. تایپ کردن آنها از حفظ آسان است، چرا که تعدادشان اندک است. اما اگر چند افزونه نصب کنید، تعداد کدهای کوتاه به سرعت به دهها و در برخی موارد به بیش از صد عدد میرسد. هر کد کوتاه مجموعه ویژگیها و دستورالعملهای خاص خود را برای نحوه استفاده دارد. هر افزونه احتمالاً نوعی مستندات دارد که نحوه کار تمام کدهای کوتاهش را توضیح داده و تمام پارامترهای موجود در هر یک را فهرست میکند. اما اگر بخواهید همه کدهای کوتاه و ویژگیهای آنها را حفظ کنید، دیوانه خواهید شد.
مشکل این است که هیچ بخش متمرکزی وجود ندارد که در آن بتوانید تمام کدهای کوتاه موجود در سایت خود و نحوه استفاده از آنها را پیدا کنید.
برخی تلاش میکنند این مشکل را حل کنند
برخی افزونهها تلاش میکنند این مشکل را با ارائه تمام کدهای کوتاه خود در یک منوی کشویی با دسترسی آسان حل کنند. سپس با کلیک روی یکی از آنها، کد کوتاه همراه با تمام ویژگیهای ممکن برای آن درج میشود. دیگر نیازی به حفظ کردن آن نیست که نکته بسیار خوبی است.

برخی فراتر میروند و یک فرم پنجره بازشو (پاپآپ) تنظیمات اضافه میکنند که دارای چکباکسها و انتخابگرهای رنگ برای پر کردن ویژگیهای کد کوتاه است.

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

به عبارت دیگر، هر افزونه کار خودش را میکند و راهحل اختصاصیاش را برای کدهای کوتاه خود پیادهسازی مینماید. برخی از افزونهها یا یک دکمه جدید در کنار دکمه «افزودن پرونده چندرسانهای» اضافه میکنند، یا یک دکمه جدید داخل TinyMCE قرار میدهند.
بنابراین اکنون ممکن است فکر کنید: «چرا کدهای کوتاه افزونههای دیگر را هم جمعآوری نکنیم و در منوی کشویی / انتخابگر کد کوتاه خود قرار ندهیم؟» خوب، این دقیقاً همان چیزی بود که من فکر میکردم. اما گفتنش آسانتر از انجام دادنش است. کمی بعد دلیلش را توضیح خواهم داد، اما ابتدا بیایید ببینیم یک راهحل ایدهآل چگونه خواهد بود.
راهحل ایدهآل
برنامه عالی این خواهد بود که افزونهای ساخته شود که تمام کدهای کوتاه موجود در سایت شما را جمعآوری کند، سپس فهرست آنها را به شما ارائه دهد و همچنین به شما در پر کردن تمام ویژگیها کمک کند. و هر بار که افزونه جدیدی نصب میکنید، تمام آن کدهای کوتاه تازه معرفیشده نیز به شما نمایش داده شوند.
یک مکان مرکزی را تصور کنید که تمام کدهای کوتاه شما برای دسترسی آسان در آن قرار میگیرند. هر کد کوتاه توضیح میدهد که چه کاری انجام میدهد و متعلق به کدام افزونه است. سپس برای هر ویژگی موجود، تصور کنید هر کدام دارای یک برچسب، روشی مناسب برای انتخاب مقدار برای آن و یک توضیح باشند. به شما منوهای کشویی، انتخابگرهای رنگ، دکمههای رادیویی، کلیدهای تغییر وضعیت و چیزهای دیگر نشان داده خواهد شد.
چیزی شبیه به این، زندگی ما را به عنوان سازندگان وبسایت و تولیدکنندگان محتوا آسانتر میکند. دیگر نیازی به بررسی مستندات مختلف یا بخشهای مختلف پیشخوان مدیریت تنها برای کپی کردن یک کد کوتاه تولیدشده برای اسلایدری که میخواهید استفاده کنید نخواهد بود.
نکته قابل توجه
متأسفانه در حال حاضر انجام چنین کاری بسیار دشوار است. هیچ روش قطعی برای آگاهی از تمام جزئیات یک کد کوتاه وجود ندارد. شما میتوانید فهرستی از تمام کدهای کوتاه به دست آورید، اما فقط برچسبها/نامهای واقعی آنها؛ نمیتوانید هیچ جزئیات بیشتری درباره آنها مانند فهرستی از ویژگیها، کارکرد آنها و انواع آنها (مانند رشته متنی، رنگ یا عدد) به دست آورید. همچنین نمیتوانید تصویری از توضیحات مربوط به هر ویژگی داشته باشید.
یک یادداشت برای توسعهدهندگان: بله، یک آرگومان سوم که بهتازگی اضافه شده برای تابع shortcode_atts وجود دارد، اما این یک آرگومان اجباری نیست. بنابراین مگر اینکه همه توسعهدهندگان افزونه در جهان آن را پیادهسازی کنند، در غیر این صورت ما همچنان راه مطمئنی برای تعیین تمام ویژگیهای یک کد کوتاه نخواهیم داشت.
رابط برنامهنویسی کد کوتاه (Shortcode API) هیچ امکانی برای افزودن توضیحات کد کوتاه، تعیین نوع ویژگیها یا توضیحات ویژگیها ارائه نمیدهد. و تا زمانی که خود وردپرس یک بخش مرکزی برای دسترسی به کدهای کوتاه اضافه نکند، بعید میدانم این امکان ایجاد شود.
نتیجهگیری
در حال حاضر وظیفه سازماندهی کدهای کوتاه بر عهده هر توسعهدهنده گذاشته شده است. مگر اینکه روشی متمرکز در داخل وردپرس توسعه یابد، انتظار داشته باشید که همچنان چندین دکمه «افزودن کد کوتاه» را در بخش مدیریت خود مشاهده کنید. اینکه آیا چنین چیزی باید به هسته وردپرس اضافه شود یا خیر، خود بحث بزرگ دیگری است.
یک راهحل جایگزین
افزونههای صفحهسازی وجود دارند که این مسئله را به شکل متفاوتی حل میکنند. آنها به جای شناسایی برنامهنویسیشده کدهای کوتاه، نقشهبردارهای کد کوتاه دارند که کاربران در آنها میتوانند هر یک از جزئیات یک کد کوتاه را به صورت دستی وارد کنند. پس از انجام این کار، آن کد کوتاه در صفحهساز در دسترس قرار میگیرد. در حالی که این روش کار میکند، اما آنها فقط در سایت خودتان در دسترس هستند.
ما اینجا در Page Builder Sandwich در حال ساخت چیزی هستیم که امیدواریم بتواند این معضل کد کوتاه را حل کند. برای اطلاع از پیشرفت ما، در خبرنامه زیر عضو شوید.