وردپرس به عنوان یکی از محبوبترین سیستمهای مدیریت محتوا، امکانات بسیاری را برای توسعهدهندگان با استفاده از Hook ها فراهم کرده است. در واقع، Hook ها به ما این امکان را میدهند که بدون تغییر در هستهی کد وردپرس، قابلیتهای جدیدی به سایت خود اضافه کنیم. یکی از این Hook ها، tag_row_actions است که مخصوص ویرایش لیست نشانههای (tags) وردپرس طراحی شده است.
با استفاده از tag_row_actions، میتوانیم لینکهای اضافی یا اقدامات جدیدی به هر ردیف لیست نشانهها در بخش مدیریت وردپرس اضافه کنیم. در راستای این کار، توسعهدهندگان میتوانند گزینههای شخصیسازی زیادی را به این بخش اضافه کنند، بهطوریکه تجربه کاربر بهبود یابد و مدیران سایت بتوانند به سادگی به امکانات مورد نیاز دسترسی پیدا کنند.
روش کار با این Hook بسیار ساده است. شما تنها کافی است کدی را در فایل functions.php قالب یا یک پلاگین طراحی شده اضافه کنید. این Hook به شما اجازه میدهد که لینکهای جدیدی برای هر نشانه در صفحه لیست نشانهها تعریف کنید. همچنین، به شما امکان میدهد که برخی از لینکهای موجود را حذف کنید یا ویرایش کنید.
حالا که مقدمهای بر این Hook داشتهایم، بیایید به کد نمونهای نگاه کنیم که نشان میدهد چگونه میتوان از این Hook استفاده کرد. در این مثال، ما یک لینک اضافی به صفحه ویرایش نشانهها اضافه میکنیم که کاربر میتواند با کلیک بر روی آن، به یک صفحه سفارشی هدایت شود.
نمونه کد استفاده از tag_row_actions
add_filter('tag_row_actions', 'add_custom_action_link', 10, 2);
function add_custom_action_link($actions, $tag) {
$actions['custom_action'] = 'عملیات سفارشی';
return $actions;
}
توضیح خط به خط کد
خط اول:add_filter('tag_row_actions', 'add_custom_action_link', 10, 2);
این خط از add_filter برای اتصال تابع add_custom_action_link به Hook tag_row_actions استفاده میکند.
خط دوم:
function add_custom_action_link($actions, $tag) {
در اینجا، تابع ما تعریف میشود که دو پارامتر ورودی دریافت میکند: $actions که شامل لینکهای فعلی است و $tag که اطلاعات نشانه جاری را دربر میگیرد.
خط سوم:
$actions['custom_action'] = 'عملیات سفارشی';
این خط یک لینک جدید به آرایه $actions اضافه میکند.
خط چهارم:
return $actions;
در آخر، آرایه $actions که اکنون حاوی لینک جدید است را بازمیگرداند.