
وردپرس، یک سیستم مدیریت محتوای قدرتمند است که به شما امکان میدهد وبسایت خود را بدون نیاز به دانش برنامهنویسی گسترش دهید. یکی از مهمترین مفاهیم در وردپرس، استفاده از «اکشنها» (Actions) است. با استفاده از اکشنها، میتوانید کدهای سفارشی خود را به نقاط مختلف قالب یا افزونه اضافه کنید و قابلیتهای جدیدی را به سایت خود بیافزایید، بدون اینکه نیاز به تغییر در هسته وردپرس داشته باشید. در این مقاله، به بررسی دقیق add_action در وردپرس میپردازیم و نحوه استفاده از آن را آموزش میدهیم.
add_action در وردپرس: چیستی و عملکرد
add_action یک تابع کلیدی در وردپرس است که به شما اجازه میدهد توابع خود را به «هوکها» (Hooks) متصل کنید. هوکها نقاط از پیش تعیینشدهای در کد وردپرس هستند که در زمانهای خاصی (مانند بارگذاری صفحه، ذخیره پست و…) اجرا میشوند. با استفاده از add_action، شما میتوانید به وردپرس بگویید که یک تابع خاص را در یک هوک مشخص اجرا کند. این قابلیت، انعطافپذیری بسیار زیادی به وردپرس میدهد و به شما اجازه میدهد تا به راحتی سایت خود را سفارشیسازی کنید.
آنچه در این مقاله میخوانید:
- آشنایی با انواع هوکها (Action Hooks)
- نحوه استفاده از add_action برای افزودن قابلیتها
- حذف قابلیتهای پیشفرض با remove_action
- نکات مهم و ترفندهای کاربردی
انواع Action Hooks در وردپرس
در وردپرس، دو نوع اصلی از هوکها وجود دارد: Action Hooks و Filter Hooks. Action Hooks برای اجرای کدها در زمانهای خاص استفاده میشوند، در حالی که Filter Hooks برای تغییر محتوای موجود (مانند عنوان پست، محتوای پست و…) به کار میروند. add_action برای اتصال توابع شما به Action Hooks استفاده میشود. در این مقاله، تمرکز ما بر روی Action Hooks و نحوه استفاده از add_action برای افزودن قابلیتها است.
Action Hooks در واقع نقاطی در کد وردپرس هستند که توسعهدهندگان مشخص کردهاند تا بتوانید کدهای خود را به آنها متصل کنید. این هوکها در زمانهای مختلفی مانند بارگذاری صفحه، ذخیره پست، نمایش محتوا و… اجرا میشوند. با استفاده از add_action، شما میتوانید تابع خود را به یک هوک متصل کنید و به وردپرس بگویید که تابع شما را در آن زمان خاص اجرا کند. به عنوان مثال، میتوانید یک تابع را به هوک ‘wp_head’ متصل کنید تا کدهای شما در بخش <head> وبسایت قرار گیرند.
افزودن اکشنها به قالب وردپرس: گام به گام
برای استفاده از add_action، شما باید مراحل زیر را دنبال کنید:
- ایجاد یک تابع: ابتدا، یک تابع PHP ایجاد کنید که شامل کدهای مورد نظر شما باشد. این تابع، کارهایی را که میخواهید انجام دهید، انجام میدهد.
- انتخاب هوک: هوکی را که میخواهید تابع خود را به آن متصل کنید، انتخاب کنید. انتخاب هوک مناسب، به این بستگی دارد که میخواهید کد شما در کجا اجرا شود.
- استفاده از add_action: از تابع add_action برای اتصال تابع خود به هوک انتخاب شده استفاده کنید.
بیایید یک مثال عملی را بررسی کنیم. فرض کنید میخواهید یک متن سفارشی را در زیر لوگوی سایت خود نمایش دهید. ابتدا، یک تابع برای نمایش متن ایجاد میکنیم:
function my_custom_header_text() { echo '<div class="my-custom-class">متن دلخواه شما</div>';}
در این تابع، ما یک div با کلاس my-custom-class ایجاد کردهایم که شامل متن مورد نظر ما است. حالا، باید این تابع را به یک هوک مناسب متصل کنیم. برای این کار، از add_action استفاده میکنیم:
add_action( 'wpex_hook_site_logo_inner', 'my_custom_header_text' );
در این مثال، ما از هوک ‘wpex_hook_site_logo_inner’ استفاده کردهایم. این هوک، در قالب Total قرار دارد و برای نمایش محتوا در زیر لوگو مناسب است. در بخش اول add_action، نام هوک را قرار میدهیم، در بخش دوم نام تابعی را که ایجاد کردهایم و در بخش سوم (اختیاری)، اولویت اجرای تابع را تعیین میکنیم. اگر اولویت را مشخص نکنید، وردپرس به طور پیشفرض از اولویت 10 استفاده میکند.
یافتن هوک مناسب
یکی از مهمترین چالشها در استفاده از add_action، پیدا کردن هوک مناسب است. هوکهای موجود در قالب یا افزونه شما، در فایلهای قالب و افزونه تعریف شدهاند. برای یافتن هوکهای موجود، میتوانید به فایلهای قالب خود مراجعه کنید و به دنبال کلماتی مانند ‘do_action’ یا ‘apply_filters’ بگردید. همچنین، میتوانید از ابزارهای توسعهدهنده مرورگر خود برای بررسی ساختار HTML صفحه و شناسایی نقاطی که میتوانید کد خود را به آنها اضافه کنید، استفاده کنید.
در قالبها و افزونههای مختلف، هوکها میتوانند متفاوت باشند. بنابراین، مهم است که مستندات قالب یا افزونه مورد نظر خود را مطالعه کنید تا با هوکهای موجود آشنا شوید. اکثر قالبها و افزونهها، مستنداتی را در اختیار شما قرار میدهند که شامل لیستی از هوکهای موجود و نحوه استفاده از آنها است.

همانطور که در تصویر مشاهده میکنید، فایل hooks.php شامل لیستی از هوکهای موجود در قالب Total است. با بررسی این فایل، میتوانید هوک مورد نظر خود را برای افزودن کدهای سفارشی پیدا کنید.
با استفاده از ابزارهای توسعهدهنده مرورگر، میتوانید ساختار HTML صفحه را بررسی کنید و مکان دقیق هوکها را شناسایی کنید. این کار به شما کمک میکند تا مطمئن شوید کد شما در جای درستی قرار میگیرد.

حذف قابلیتها با remove_action
علاوه بر افزودن قابلیتها، میتوانید از add_action برای حذف قابلیتهای موجود نیز استفاده کنید. برای این کار، از تابع remove_action استفاده میکنید. این تابع، دقیقاً مشابه add_action عمل میکند، با این تفاوت که به جای افزودن یک تابع، آن را از یک هوک حذف میکند.
به عنوان مثال، فرض کنید میخواهید نوار منوی بالایی قالب Total را حذف کنید. برای این کار، ابتدا باید هوک مربوط به نوار منوی بالایی را پیدا کنید. با بررسی فایلهای قالب، متوجه میشویم که هوک مربوطه ‘wpex_hook_header_before’ است و این منو با تابع ‘wpex_top_bar’ فراخوانی میشود. بنابراین، برای حذف نوار منو، از کد زیر استفاده میکنیم:
function my_remove_top_bar() { remove_action( 'wpex_hook_header_before', 'wpex_top_bar' );}add_action( 'init', 'my_remove_top_bar' );
در این مثال، ما یک تابع به نام my_remove_top_bar ایجاد کردهایم که در آن از remove_action برای حذف تابع ‘wpex_top_bar’ از هوک ‘wpex_hook_header_before’ استفاده کردهایم. سپس، این تابع را به هوک ‘init’ متصل کردهایم. هوک ‘init’ بعد از بارگذاری وردپرس اجرا میشود و برای حذف المانهای موجود در قالب مناسب است.
جایگزینهای add_action: سفارشیسازی بدون کدنویسی
برخی از قالبها و افزونهها، گزینههایی را در تنظیمات خود ارائه میدهند که به شما اجازه میدهد بدون نیاز به کدنویسی، قابلیتهایی را به سایت خود اضافه یا حذف کنید. قبل از اینکه شروع به کدنویسی کنید، حتماً تنظیمات قالب و افزونههای خود را بررسی کنید. ممکن است گزینهای برای سفارشیسازی سایت شما وجود داشته باشد که نیازی به استفاده از add_action نداشته باشید.
با استفاده از افزونههای سفارشیسازی قالب، میتوانید تغییرات دلخواه خود را در ظاهر و عملکرد سایت اعمال کنید. این افزونهها معمولاً رابط کاربری گرافیکی (GUI) دارند و به شما امکان میدهند بدون نیاز به دانش برنامهنویسی، وبسایت خود را سفارشی کنید.
اگر نیاز به تغییرات پیچیدهتری دارید که در تنظیمات قالب و افزونه وجود ندارد، add_action یک ابزار قدرتمند برای سفارشیسازی وردپرس است. با استفاده از این تابع، میتوانید سایت خود را مطابق با نیازهای خود تنظیم کنید و قابلیتهای جدیدی را به آن اضافه کنید.
در نهایت، استفاده از add_action و remove_action یک روش عالی برای سفارشیسازی وردپرس است. با کمی تمرین و مطالعه مستندات، میتوانید به راحتی سایت خود را به دلخواه خود تغییر دهید.
ارسال پاسخ