سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ mahshid
ورودی شورت کد
محسن موحد حل شده توسط محسن موحد

سلام وقتتون بخیر چرا توی کد استاد به عنوان ورودی تابع $attr قرار داده در صورتی که توی کد از این متغییر استفاده نشده و زمانی من این $atrr رو حذف میکنم به خطا میخورم

 

function shortcode($attr,$content=null){
    return '
    <div style="width:100%;background-color:#efefef;border:1px solid #efefef;">'.$content.'</div>
    ';
}
add_shortcode('text','shortcode');

سلام،

دلیل اینکه وقتی پارامتر $attr رو از تابع شورت‌کد حذف می‌کنی به خطا میخوری اینه که وردپرس هنگام اجرای شورت‌کدها به تابعی که تعریف کردی دو پارامتر میفرسته: $atts (یا همون $attr) و $content.

حتی اگه تو کدت از $attr استفاده نکنی، وردپرس همچنان این پارامتر رو به تابع مفرسته. اگه پارامتر رو از تابع حذف کنی، تابع انتظار تعداد پارامتر کمتری داره و بنابراین وقتی وردپرس اون پارامتر اضافی رو میفرسته، خطای تعداد پارامترهای نادرست رخ میده.

بهترین پاسخ
محسن موحد ۰۴ دی ۱۴۰۳، ۱۳:۲۶