افزودن و مدیریت row action ها در وردپرس بدون افزونه
- موضوع : مقالات آموزشی وردپرس
- تاریخ : 1400/06/14
- مجموع پسند شده : 3
- بازدید : 986

توی این آموزش با هم قراره که با یک حرکت ساده و بدون نیاز به هیچگونه افزونه ای کار با row action ها در وردپرس رو یاد بگیریم.
افزودن row action جدید در وردپرس
برای اینکه ما بتونیم به راحتی این کار و انجام بدیم بایستی یک گزینه به قسمت action rows توی جدول لیست نوشته ها که هنگام هاور بر روی سطر نمایش داده میشن اضافه کنیم.
جهت افزودن اکشن جدید به این قسمت کد زیر را بایستی در فایل functions.php قالب خودتون کپی کنید :
۱ ۲ ۳ ۴ ۵ ۶ | function wbs_new_post_row_action( $actions , $post) { $actions['searchInGoogle'] = '<a target="_blank" href="https://www.google.com/search?q='.$post->post_title.'">جستجو در گوگل</a>'; return $actions; } add_filter( 'post_row_actions', 'wbs_new_post_row_action', ۱۰, ۲ ); |
خروجی کد بالا به شکل زیر خواهد بود :
خب به همین راحتی تونستیم یک مورد جدید با عنوان جستجو در گوگل که عنوان نوشته رو به صورت مستقیم توی گوگل جستجو میکنه رو به قسمت row actions های نوشته ها اضافه کنیم.
توجه : جهت افزودن مورد جدید به قسمت row action های لیست کاربران کافیه کد زیر رو در فایل functions.php قالب خودتون کپی کنید :
۱ ۲ ۳ ۴ ۵ ۶ | function wbs_user_profile_row_action( $actions , $user) { $actions['getUserProfile'] = '<a target="_blank" href="'.get_author_link( false, $user->ID ).'">مشاهده پروفایل</a>'; return $actions; } add_filter( 'user_row_actions', 'wbs_user_profile_row_action', ۱۰, ۲ ); |
در کد بالا ما به جای متغیر post که اطلاعات نوشته رو در اختیار ما قرار میداد از متغیر user استفاده کردیم که اطلاعات کاربر در اختیارمون باشه البته نام متغیرها آنچنان مهم نیست.
همچنین در قسمت add_filter هم به جای فیلتر post_row_actions از فیلتر user_row_actions استفاده کرده ایم.
توجه : جهت نمایش اکشن ها در پست تایپ های دلخواه کافیه داخل کد مربوط به افزودن اکشن یک شرط جهت بررسی پست تایپ به شکل زیر قرار بدیم :
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ | function wbs_new_post_row_action( $actions , $post) { if ($post->post_type =="product") { $actions['searchInGoogle'] = '<a target="_blank" href="https://www.google.com/search?q=' . $post->post_title . '">جستجو در گوگل</a>'; } return $actions; } add_filter( 'post_row_actions', 'wbs_new_post_row_action', ۱۰, ۲ ); |
همونطور که می بینید با یک شرط چک کرده ایم که اگر پست تایپ برابر با product باشه اکشن رو نشون بده.
حذف row action دلخواه
خب شاید شما بخوایید به هر دلیلی یکی از اکشن هارو حذف کنید. برای حذف اکشن به شکل زیر عمل میکنیم :
به طور مثال من اکشن ارسال بازنشانی رمز عبور رو که توی سطرهای جدول لیست کاربران وجود داره رو حذف کنم.
ابتدا بایستی کلاس اکشن رو به دست بیارید که کار خیلی آسونیه فقط کافیه روی اکشن تو مروگر کلیک راست کرده و گزینه inspect رو بزنید.
سپس مقدار خاصیت class تگ a رو کپی کنید که در این مثال کلاس ما resetpassword هست.
حال با جایگذاری کلاس کپی شده در کد زیر اکشن مورد نظرتون رو به راحتی حذف کنید.
۱ ۲ ۳ ۴ ۵ ۶ ۷ | function wbs_new_post_row_action( $actions , $post) { unset($actions['resetpassword']); $actions['getUserProfile'] = '<a target="_blank" href="'.get_author_link( false, $user->ID ).'">مشاهده پروفایل کاربر</a>'; return $actions; } add_filter( 'user_row_actions', 'wbs_new_post_row_action', ۱۰, ۲ ); |
همونطور که می بینید با استفاده از دستور unset که از توابع php هست اومدیم مقدار کلاس مورد نظرمون رو از اعضای آرایه actions حذف کردیم.
خب به همین راحتی تونستیم از row action ها توی وردپرس استفاده کنیم و row action هامون رو مدیریت کنیم.
همچنین جهت مطالعه بیشتر تابع row_action به لینک زیر مراجعه کنید:
امیدورام از این آموزش هم استفاده کرده باشید و به دردتون خورده باشه.
همچنین هرگونه سوال ، نظر یا پیشنهادی داشتین از قسمت دیدگاه ها میتوانید با ما در میان بگذارید.
با تشکر فراوان
آیا این مقاله برای شما مفید بود ؟
نظر شما کاربر محترم در مورد این مقاله برای ما بسیار اهمیت دارد و ما را در ارائه مقالات مفید دیگر کمک خواهد کرد.
عضویت در خبرنامه
جهت دریافت جدیدترین مطالب در ایمیل خود ، در خبرنامه وب استند عضو شوید.
خیالتان راحت هیچگونه ایمیل تبلیغاتی ارسال نخواهد شد!