به یک نصب محلی وردپرس و دسترسی به فایل‌های آن نیاز دارید. این تمرین یک shortcode می‌سازد که نامی را در پیام خوش‌آمد نمایش می‌دهد.

فایل افزونه

در wp-content/plugins پوشه reza-hello را بسازید و فایل reza-hello.php را داخل آن قرار دهید. هدر Plugin Name باعث می‌شود وردپرس افزونه را بشناسد.

<?php
/**
 * Plugin Name: Reza Hello
 * Description: A small shortcode learning example.
 * Version: 1.0.0
 */
if (!defined("ABSPATH")) { exit; }

function rn_hello_shortcode($atts) {
    $atts = shortcode_atts(["name" => "دوست من"], $atts);
    return "<p>سلام، " . esc_html($atts["name"]) . "!</p>";
}
add_shortcode("rn_hello", "rn_hello_shortcode");

فعال‌سازی و استفاده

از بخش افزونه‌ها، Reza Hello را فعال کنید. یک بلوک Shortcode در برگه بگذارید و عبارت زیر را وارد کنید. تابع callback باید خروجی را return کند تا وردپرس آن را در محل مناسب نمایش دهد.

[rn_hello name="رضا"]

تمرین

مقدار name را عوض کنید و نتیجه را ببینید. سپس name را حذف کنید تا مقدار پیش‌فرض نمایش داده شود. esc_html داده را برای قرار گرفتن در متن HTML خروجی‌گذاری می‌کند؛ این تابع جای کنترل دسترسی یا اعتبارسنجی سایر ورودی‌ها را نمی‌گیرد.

تمرین

callback یک shortcode باید خروجی را چطور تحویل دهد؟

  • با return
  • فقط با echo
  • با حذف فایل
خروجی shortcode را return کنید تا وردپرس آن را در جای درست قرار دهد.

WordPress — Shortcodes Handbook ↗