نحوه ساخت شورتکد سفارشی در وردپرس (WordPress Shortcode)
با تابع `add_shortcode` و استفاده صحیح از خروجی رشتهای (return به جای echo) شورتکد سفارشی بسازید.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* ساخت شورتکد باکس پیام و هشدار سفارشی
* نحوه استفاده در متن: [bisco_alert type="success"]متن پیام شما[/bisco_alert]
*/
function bisco_alert_box_shortcode( $atts, $content = null ) {
$atts = shortcode_atts( array(
'type' => 'info', // پیشفرض: info, warning, success, error
), $atts, 'bisco_alert' );
$type_class = sanitize_html_class( $atts['type'] );
$output = '<div class="bisco-alert-box alert-' . esc_attr( $type_class ) . '">';
$output .= do_shortcode( $content );
$output .= '</div>';
return $output;
}
add_shortcode( 'bisco_alert', 'bisco_alert_box_shortcode' );
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php ذخیره کرده و در متن مقالات از شورتکد استفاده کنید.
این کد چگونه کار میکند؟ (How it Works)
هنگام تحلیل محتوای نوشته (the_content)، پردازشگر شورتکد وردپرس تگ را با خروجی HTML برگردانده شده توسط تابع جایگزین مینماید.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
برای ایجاد المانهای طراحی تکرارپذیر که نویسندگان محتوا بدون دانش کدنویسی به راحتی بتوانند در مقالات درج کنند.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
اگر کامپوننت نیاز به تعاملات پیشرفته React در فرانت دارد که ساخت بلاک گوتنبرگ برای آن مناسبتر است.
پیشنیازهای اجرا
وردپرس ۲.۵ به بالا.
نحوه تست و اطمینان از عملکرد
در یک نوشته بلاک شورتکد گذاشته و عبارت `[bisco_alert type="success"]تست موفق[/bisco_alert]` را بنویسید و پیشنمایش را ببینید.
نحوه بازگردانی سریع (Rollback)
کد را از functions.php بردارید.
خطاهای رایج و راهحل رفع
استفاده از echo به جای return در تابع شورتکد، که باعث میشود باکس پیام به اشتباه در بالای کل صفحه چاپ شود!
ملاحظات و نکات امنیتی
خروجیها همیشه باید با sanitize_html_class و esc_attr ایمنسازی شوند.
تاثیر بر سرعت و پرفورمنس
بسیار سبک و سریع بدون نیاز به درخواست دیتابیس اضافی.