استفاده از کدکوتاه یا شورتکد (Shortcode) یک راه بسیار ساده برای اضافه کردن محتوای دینامیک به پستها، برگهها و بلاکهای سایدبار و فوتر است. بسیاری از قالبها و افزونهها (پلاگینها) برای اضافه کردن فرم تماس، گالری عکس، جدول و ... از شورتکدها استفاده میکنند. در این مقاله روش استفاده از شورتکدها و نحوه ایجاد شورتکد اختصاصی در وردپرس نشان داده خواهد شد.
فهرست مطالب
شورتکد چیست؟
شورتکدها ابزاری برای قرار دادن محتوای دینامیک در پستها، برگهها و بلاکهای سایدبار و فوتر هستند. شورتکدها در داخل یک جفت براکت به صورت [shortcode] نمایش داده میشوند. وردپرس محتوای تمام برگهها، پستها و بلاکهای سایدبار و فوتر را بررسی میکند تا کد مخربی وارد دیتابیس نشود. بنابراین امکان نوشتن کدهای HTML در پستها، برگهها و بلاکهای سایدبار و فوتر وجود دارد، اما درج کدهای PHP امکانپذیر نیست. به عبارت دیگر اگر در پست و برگهای کد PHP نوشته شود هرگز اجرا نخواهد شد. حال اگر برای اهداف مختلف مانند قرار دادن تبلیغ، فرم تماس و ... نیاز به درج کد داخل پستها، برگهها یا بلاکهای سایدبار و فوتر باشد، شورتکدها مورد استفاده قرار میگیرند. طراحان و برنامهنویسان میتوانند کدها و توابعی که نوشتهاند را در قالب شورتکدها معرفی کنند تا کاربران بدون نیاز به کدنویسی بتوانند آن توابع را در پستها، برگهها و بلاکهای سایدبار و فوتر قرار دهند. وقتی وردپرس به یک شورتکد میرسد، کدهای مرتبط با آن را اجرا کرده و کاربر خروجی آن را مشاهده میکند.
اضافه کردن شورتکد به پستها و برگهها در ویرایشگر گوتنبرگ
برای اضافه کردن شورتکد به پستها و برگهها، ابتدا میبایست وارد صفحه ویرایش آنها شد. در ویرایشگر گوتنبرگ، میتوان یک یا چند بلاک شورتکد در پست یا برگه مورد نظر درج کرد. سپس شورتکد مورد نظر به سادگی در تنظیمات بلاک وارد میشود. نباید فراموش کرد که این تغییرات در پست یا برگه مورد نظر ذخیره شود. حال کاربران با دیدن این پست یا برگه، خروجی شورتکد درج شده را مشاهده میکنند.
اضافه کردن شورتکد در سایدبار و فوتر
برای قرار دادن شورتکد در سایدبار یا فوتر، وارد صفحه نمایش «ابزارکها شوید. سپس یک ابزارک "متن" را به سایدبار یا فوتر مورد نظر خود اضافه نمایید. حال به سادگی میتوانید شورتکد مورد نظر خود را در ناحیه متنی ابزارک وارد کرده و آن را ذخیره نمایید.
استفاده از شورتکدها در قالبهای وردپرس
هرچند شورتکدها برای استفاده در پستها، برگهها و بلاکهای سایدبار و فوتر خلق شدهاند، اما گاهی نیاز میشود آنها را بخشهای مختلف قالب خود اضافه کنیم. وردپرس این کار را بسیار آسان کرده است. به سادگی میتوان با استفاده از کد زیر، شورتکد مورد نظر خود را به قسمت دلخواه قالب اضافه کرد. تابع do_shortcode با گرفتن نام شورتکد به عنوان ورودی، کدهای مرتبط با آن را اجرا میکند و دستور echo خروجی کدهای اجرا شده را در قالب به نمایش درمیآورد. در کد زیر به جای عبارت [your_shortcode] نام شورتکد مورد نظر قرار میگیرد.
1 |
<?php echo do_shortcode("[your_shortcode]"); ?> |
ساخت شورتکد اختصاصی در وردپرس
همانطور که گفته شد شورتکدها ابزار بسیار کارآمدی برای قرار دادن محتوای دینامیک در پستها، برگهها و بلاکهای سایدبار و فوتر است. گاهی برای استفاده شخصی و یا نوشتن افزونه (پلاگین) نیاز میشود شورتکد اختصاصی خود را ایجاد نماییم. این کار نیازمند تجربه کافی در زمینه برنامهنویسی PHP است. کد زیر قالب اصلی ساخت شورتکد است.
1 2 3 4 5 6 7 8 9 |
// function that runs when shortcode is called function learnyx_shortcode() { // Things that you want to do. $message = 'Hello world!'; // Output needs to be return return $message; } // register shortcode add_shortcode('learnyx', 'learnyx_shortcode'); |
در کد بالا، هدف ساخت شورتکد [learnyx] است. برای این کار ابتدا یک تابع با نام دلخواه learnyx_shortcode تعریف میشود که وردپرس با رسیدن به شورتکد [learnyx] آن را اجرا خواهد کرد. در خط آخر تابع میبایست با استفاده از دستور return خروجی مطلوب برگردانده شود. در این مثال، تابع learnyx_shortcode عبارت Hello world! را نمایش خواهد داد. پس از نوشتن تابع مورد نظر، با استفاده از دستور add_shortcode نام شورتکد و ارتباط آن با تابع اصلی ایجاد میشود. در کد بالا learnyx نام شورتکد و learnyx_shortcode تابع مرتبط با شورتکد است. حال میتوان شورتکد ساختهشده را به صورت [learnyx] در قسمتهای مختلف مانند پستها، برگهها، بلاکهای سایدبار و یا قسمتهای مختلف قالب به کار برد.
به عنوان یک مثال کاربردی، با استفاده از شورتکد میتوان بنر تبلیغات گوگل (Google AdSense) را در قسمتهای مختلف سایت به نمایش درآورد. از کد زیر میتوان برای ساخت شورتکد نمایشدهنده تبلیغات استفاده کرد. در این کد ابتدا یک تابع برای اجرای کدهای تبلیغات گوگل با نام learnyx_google_adsense تعریف شدهاست. توجه داشته باشید که کد تبلیغاتی خود را با کد استفاده شده در تابع زیر جایگزین نمایید. در انتها نیز شورتکد مورد نظر با نام ads_shortcode ایجاد شدهاست. حال برای به نمایش درآوردن تبلیغات گوگل در پستها، برگهها، بلاکهای سایدبار و فوتر و یا سایر قسمتهای قالب خود میتوان از شورتکد [ads_shortcode] استفاده کرد. همچنین متناسب با محل نمایش تبلیغات، میتوان از کدهای مختلفی مانند CSS برای طراحی ظاهری آنها بهره برد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// The shortcode function function learnyx_google_adsense() { // Advertisement code pasted inside a variable $string .= '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class=" adsbygoogle" style="display:block; text-align:center;" data-ad-format="fluid" data-ad-layout="in-article" data-ad-client="ca-pub-0123xxxxxxxx1112" data-ad-slot="987xxxx210"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>'; // Ad code returned return $string; } // Register shortcode add_shortcode('ads_shortcode', 'learnyx_google_adsense'); |
دیدگاه بگذارید