خانه وردپرس و سایت‌سازها آموزش کامل شورت‌کد وردپرس (Shortcode): راهنمای جامع ۲۰۲۶
تاریخ به‌روزرسانی : 1398/07/07
به قلم : شهاب بیرامی
زمان مطالعه : 6 دقیقه

آموزش کامل شورت‌کد وردپرس (Shortcode): راهنمای جامع ۲۰۲۶

افزودن شورت‌کد در وردپرس

🎯 خلاصه سریع (TL;DR):

  • شورت‌کد: کدهای کوتاه در براکت [مثل_این] که محتوای پویا نمایش می‌دهند
  • روش‌های استفاده: بلوک ویرایشگر، ویجت، قالب PHP، ویرایشگر کلاسیک
  • ساخت شورت‌کد سفارشی: با add_shortcode() در functions.php
  • ۲۰۲۶: شورت‌کدها همچنان کاربردی هستند، اما بلوک‌های گوتنبرگ برای محتوای بصری بهترند

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

شورت‌کد (Shortcode) چیست؟

شورت‌کد یک میانبر متنی است که در براکت‌های مربعی نوشته می‌شود و وردپرس آن را با محتوای مورد نظر جایگزین می‌کند. مثلاً:

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

مزایای استفاده از شورت‌کد:

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

شورت‌کد در مقابل بلوک گوتنبرگ: کدام را انتخاب کنیم؟

ویژگی شورت‌کد بلوک گوتنبرگ
پیش‌نمایش در ویرایشگر ❌ فقط کد نمایش داده می‌شود ✅ نمایش زنده
استفاده در ویجت ✅ کامل پشتیبانی ⚠️ محدود
استفاده در قالب PHP ✅ با do_shortcode() ⚠️ پیچیده‌تر
وابستگی به افزونه ⚠️ اگر افزونه غیرفعال شود، کد خام نمایش داده می‌شود ⚠️ مشابه
مناسب برای منطق و عملکرد طراحی و چیدمان

💡 توصیه ۲۰۲۶:

در سال ۲۰۲۶، شورت‌کدها همچنان پرکاربرد هستند. بسیاری از افزونه‌های محبوب از آن‌ها استفاده می‌کنند. اگر محتوای موجود با شورت‌کد دارید، نیازی به تبدیل فوری به بلوک نیست. اما برای محتوای جدید بصری، بلوک‌های گوتنبرگ تجربه کاربری بهتری ارائه می‌دهند.

روش ۱: افزودن شورت‌کد با بلوک Shortcode

ساده‌ترین روش استفاده از شورت‌کد در ویرایشگر بلوکی وردپرس:

📱 مراحل:

  1. در ویرایشگر وردپرس، روی دکمه + (افزودن بلوک) کلیک کنید
  2. عبارت «Shortcode» را جستجو کنید
  3. بلوک «شورت‌کد» را انتخاب کنید
  4. شورت‌کد مورد نظر را در کادر وارد کنید (مثلاً [contact-form-7 id="123"])
  5. صفحه را ذخیره یا پیش‌نمایش کنید

درج بلوک شورت‌کد در وردپرس

نکته مهم:

می‌توانید شورت‌کد را مستقیماً در یک پاراگراف هم بچسبانید. هر دو روش نتیجه یکسانی دارند.

روش ۲: استفاده از شورت‌کد در ویجت

شورت‌کدها در ویجت‌های سایدبار و فوتر هم کار می‌کنند:

  1. به نمایش ← ابزارک‌ها بروید
  2. یک ویجت «متن» یا «HTML سفارشی» اضافه کنید
  3. شورت‌کد را در آن وارد کنید
  4. ذخیره کنید

استفاده از شورت‌کد در ویجت وردپرس

روش ۳: استفاده در ویرایشگر کلاسیک

اگر از ویرایشگر کلاسیک (Classic Editor) استفاده می‌کنید:

  1. در حالت «نوشتاری» (Visual) یا «متن» (Text)، شورت‌کد را مستقیماً تایپ کنید
  2. هیچ تنظیمات خاصی نیاز نیست

شورت‌کد در ویرایشگر کلاسیک وردپرس

روش ۴: استفاده از شورت‌کد در فایل‌های قالب (PHP)

گاهی نیاز دارید شورت‌کد را در فایل‌های قالب مثل header.php یا footer.php استفاده کنید. برای این کار از تابع do_shortcode() استفاده می‌شود:

<?php echo do_shortcode("[your_shortcode]"); ?>

به جای [your_shortcode]، شورت‌کد واقعی خود را قرار دهید.

ساخت شورت‌کد سفارشی

اگر می‌خواهید شورت‌کد اختصاصی خودتان را بسازید، کد زیر را به فایل functions.php قالب یا یک افزونه سفارشی اضافه کنید:

مثال ۱: شورت‌کد ساده «سلام»

// تابع شورت‌کد
function wpb_demo_shortcode() {
    $message = 'سلام به سایت خوش آمدید!';
    return $message;
}
// ثبت شورت‌کد
add_shortcode('greeting', 'wpb_demo_shortcode');

حالا با نوشتن [greeting] در هر جای سایت، پیام «سلام به سایت خوش آمدید!» نمایش داده می‌شود.

مثال ۲: شورت‌کد با پارامتر

function custom_button_shortcode($atts) {
    $atts = shortcode_atts(array(
        'url' => '#',
        'text' => 'کلیک کنید',
        'color' => '#4caf50'
    ), $atts);

    return '<a href="' . esc_url($atts['url']) . '"
            style="background:' . esc_attr($atts['color']) . ';
                   color:#fff; padding:10px 20px;
                   border-radius:5px; text-decoration:none;">'
           . esc_html($atts['text']) . '</a>';
}
add_shortcode('button', 'custom_button_shortcode');

استفاده:

[button url="/hosting" text="خرید هاست" color="#2196f3"]

مثال ۳: شورت‌کد برای نمایش تبلیغات

function my_ad_shortcode() {
    $ad_code = '<div class="my-ad">
        <!-- کد تبلیغات اینجا قرار می‌گیرد -->
    </div>';
    return $ad_code;
}
add_shortcode('my_ad', 'my_ad_shortcode');

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

وردپرس چند شورت‌کد پیش‌فرض دارد که بدون نصب افزونه کار می‌کنند:

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

افزونه‌های محبوب با شورت‌کد

بسیاری از افزونه‌های معروف وردپرس از شورت‌کد استفاده می‌کنند:

  • Contact Form 7: [contact-form-7 id="123"]
  • WPForms: [wpforms id="456"]
  • WooCommerce: [products limit="4"]
  • TablePress: [table id=1]
  • Elementor: [elementor-template id="789"]

نکات امنیتی شورت‌کد

⚠️ نکات مهم امنیتی:

  • Escape خروجی: همیشه از توابع esc_html()، esc_attr() و esc_url() استفاده کنید
  • اعتبارسنجی ورودی: پارامترهای ورودی را قبل از استفاده بررسی کنید
  • استفاده از nonce: برای شورت‌کدهایی که عملیات حساس انجام می‌دهند
  • محدودیت دسترسی: شورت‌کدهای حساس را فقط برای کاربران مجاز فعال کنید

عیب‌یابی مشکلات شورت‌کد

اگر شورت‌کد کار نمی‌کند:

  1. بررسی فعال بودن افزونه: مطمئن شوید افزونه مربوطه فعال است
  2. بررسی نگارش: شورت‌کد را دقیقاً مثل مستندات بنویسید
  3. بررسی تداخل: سایر افزونه‌ها را غیرفعال کنید و تست کنید
  4. بررسی کش: کش سایت را پاک کنید

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

❓ سؤالات متداول

آیا شورت‌کدها در سال ۲۰۲۶ هنوز کاربردی هستند؟

بله، شورت‌کدها همچنان پرکاربرد هستند. بسیاری از افزونه‌های محبوب مثل Contact Form 7 و WooCommerce از آن‌ها استفاده می‌کنند. با این حال، برای محتوای بصری جدید، بلوک‌های گوتنبرگ تجربه کاربری بهتری ارائه می‌دهند.

چرا شورت‌کد من کار نمی‌کند؟

رایج‌ترین دلایل: ۱) افزونه مربوطه غیرفعال است، ۲) نگارش شورت‌کد اشتباه است، ۳) تداخل با افزونه‌های دیگر وجود دارد، ۴) کش سایت باید پاک شود. ابتدا فعال بودن افزونه را بررسی کنید.

آیا می‌توانم شورت‌کد را در ویجت استفاده کنم؟

بله، از وردپرس ۴.۹ به بعد، شورت‌کدها به صورت پیش‌فرض در ویجت‌های متن و HTML سفارشی کار می‌کنند. کافیست شورت‌کد را در ویجت «متن» یا «HTML سفارشی» وارد کنید.

تفاوت شورت‌کد و بلوک گوتنبرگ چیست؟

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

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

با استفاده از تابع add_shortcode() در فایل functions.php قالب یا یک افزونه سفارشی. ابتدا یک تابع بنویسید که محتوای مورد نظر را return کند، سپس با add_shortcode('نام', 'تابع') آن را ثبت کنید. برای امنیت، حتماً از توابع escape استفاده کنید.

نظرات