۱ amir rad
در خصوص آرگومان comment_body
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۵ خرداد ۱۴۰۲

سلام

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

function filter_comment_text(string $comment_body):string{
//do some filter
}
add_filter('comment_text', 'filter_comment_text');

آرگومان comment_body که در فیلتر filter_comment_text استفاده کردیم به ما متن کامنت رو برمیگردونه و سوال من دقیقا اینجاست که این آرگومان چجوری این کار رو انجام میده؟ وقتی که متغیر گلوبال نیست و هر نام دیگه ای به جز comment_body هم که براش بذاریم باز هم متن کامنت رو به ما میده درحالی که ما در برنامه جایی اشاره نکردیم که چجوری این متغیرقراره متن کامنت رو بگیره

سلام و وقت بخیر

جناب راد عزیز در هسته وردپرس فیلتر‌ها و اکشن‌ها در هنگام تعریف میتوانند متغییر هایی را با خود داشته باشند، مخصوصا add filter که در خیلی از بخش‌ها امکان تغییر داده هارا به ما می‌دهد

در کد زیر را مشاهده کنید

apply_filters( 'comment_text', $comment_text, $comment, $args );

کد بالا بخشی هست که فیلتر اعمال شده است، اگر مشاهده کنید بیش از یک متغییر هم به ان داده شده است در اصل این فیلتر برای این تعریف شده است که شما به متغییر متون لازمه دسترسی داشته باشید.

حال شما با کدی که نوشتید به این فیلتر قلاب میزنید و میگید که هر موقع این فیلتر اجرا شد بیا تغییرات من رو هم اعمال کن.

امیدوارم متوجه شده باشید.

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