چطوری میشه

توابع قابل اتصال وردپرس

توابع قابل اتصال وردپرس

آیا تا به حال نام وردپرس را شنیده اید عملکردهای قابل اتصال؟ اگر نه، پس این مقاله باید توجه شما را جلب کند. به دو کلمه توابع قابل اتصال عبارتند از WordPress توابع اصلی که می توانید آنها را لغو کنید. همه این توابع در یک فایل واحد قرار دارند: “wp-includes/pluggable.php“. توابع Pluggable در وردپرس 1.5.1 معرفی شدند، اما در جدیدترین نسخه های وردپرس از این روش دیگر استفاده نمی شود. توابع اخیر اکنون از فیلترها در خروجی خود استفاده می کنند. اما همچنان می‌توانید عملکردهای قابل اتصال را نادیده بگیرید، و این چیزی است که می‌خواهم در این پست به آن بپردازم.

کدام عملکرد؟

توابع قابل اتصال عبارتند از:

برای دسترسی به صفحه کدکس هر تابع، می‌توانید روی نام آن کلیک کنید.

چگونه توابع قابل اتصال را لغو کنیم

خب این بسیار ساده است، تنها کاری که باید انجام دهید این است که یک فایل در پلاگین های خود ایجاد کنید که حاوی عبارت “if (!function_exists())…” باشد و سپس تابع را دوباره تعریف کنید. اکیداً به شما توصیه می‌کنم هنگام شروع، عملکرد اصلی را کپی و جایگذاری کنید. به این ترتیب مطمئن هستید که عملکرد کار خواهد کرد. این یک مثال خالی است:

اگر ( ! function_exists('wp_notify_postauthor') ):
/**
 * نویسنده را از نظر/بازگشت/پینگ بک به یکی از پست‌های خود مطلع کنید.
 *
 * @از 1.0.0
 *
 * @param int $comment_id شناسه نظر
 * @param string $comment_type اختیاری است. نظر یا «نظر» (پیش‌فرض)، «بازگشت» یا «پینگ‌بک» را تایپ می‌کند.
 * اگر ایمیل کاربر وجود نداشته باشد، @return bool False. در تکمیل درست است.
 */
تابع wp_notify_postauthor( $comment_id, $comment_type = '' ) {

/* اینجا جایی است که شما تابع را دوباره تعریف می کنید */

}
endif;

می خواهم در مورد تابع “wp_notify_postauthor()” صحبت کنم. این مسئول ارسال یک ایمیل برای نویسندگان پست هنگام اضافه شدن نظر جدید است. در یکی از افزونه‌های من، مدیر مسائل وردپرس، باید این اعلان را غیرفعال کنم، اما فقط یک نوع پست سفارشی خاص. بنابراین، من کل تابع را کپی کردم و به سادگی این را اضافه کردم:

اگر ( ! function_exists('wp_notify_postauthor') ):
/**
 * نویسنده را از نظر/بازگشت/پینگ بک به یکی از پست‌های خود مطلع کنید.
 *
 * @از 1.0.0
 *
 * @param int $comment_id شناسه نظر
 * @param string $comment_type اختیاری است. نظر یا «نظر» (پیش‌فرض)، «بازگشت» یا «پینگ‌بک» را تایپ می‌کند.
 * اگر ایمیل کاربر وجود نداشته باشد، @return bool False. در تکمیل درست است.
 */
تابع wp_notify_postauthor( $comment_id, $comment_type = '' ) {

if($post->post_type != 'issue'):

/* محتوای تابع اصلی */

endif;

}
endif;

این ساده است، اما بدون نیاز به ایجاد تغییرات عظیم یا ایجاد یک تابع سفارشی کامل متصل به یک اقدام سفارشی، عالی کار می‌کند.

wp_mail()

همانطور که در لیست توابع قابل اتصال دیدید، wp_mail() یک تابع قابل اتصال است. این تابع برای ارسال ایمیل استفاده می شود. در هر جای وردپرس وقتی ایمیلی ارسال می شود از این تابع استفاده می کند. به همین دلیل است که سفارشی کردن آن می تواند بسیار جالب باشد. برای مثال می‌توانید از یک قالب پیش‌فرض html برای همه ایمیل‌های ارسال شده از نصب وردپرس خود استفاده کنید.

همچنین می‌توانید یک نسخه مخفی از هر پیام را به یک ایمیل خاص ارسال کنید تا یک نوع پشتیبان داشته باشید (به من اعتماد کنید وقتی کسی به شما می‌گوید که پیام را دریافت نکرده است، می‌تواند مفید باشد!).

wp_authenticate()

همچنین می‌توانید wp_authenticate() را تغییر دهید و برخی پارامترهای اضافی را برای اعمال امنیت در سایت خود اضافه کنید (برای مثال حملات brute force).

auth_redirect()

این تابعی است که بررسی می‌کند آیا کاربر وارد شده است یا خیر، و در غیر این صورت آنها را به صفحه ورود هدایت می‌کند. نادیده گرفتن عملکرد و هدایت کاربر به یک صفحه سفارشی، به جای صفحه ورود به سیستم پیش فرض (مثلاً اگر می خواهید پوشه wp-admin را مخفی کنید) بسیار آسان است.

wp_generate_password()

این تابعی است که رمزهای عبور را به طور خودکار تولید می کند. راستش شما واقعاً نیازی به تغییر آن ندارید، اما اکنون که می دانید حملات خشونت آمیز چیست، می توانید به ایجاد رمزهای عبور قوی تر علاقه مند شوید. خوب، این تابعی است که باید بهبود یابد.

نتیجه گیری

برای پایان دادن به این پست کوتاه در مورد توابع قابل اتصال وردپرس، می‌خواهم به این واقعیت اشاره کنم که توابع جدید دیگر اینطور کار نمی‌کنند. همانطور که در بالا نوشتم آنها اکنون از فیلترها استفاده می کنند. اما توابع قابل اتصال به ویژه هنگام ایجاد پلاگین های خاص، عملکردهای مهمی هستند. اما هنگام استفاده از عملکردهای قابل اتصال مراقب باشید. اگر عملکرد جدید ایجاد شده به خوبی کار نمی کند، می تواند بخشی از وب سایت شما را خراب کند (از نظر عملکرد)، بنابراین لطفاً آنها را در همه شرایط آزمایش کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا