هوک اکشن » هوک اکشن (Action Hook) در وردپرس

http://www.wholesalejerseysi.com

Our principal focus for the quarter was to better align our inventory with sales trends through our aggressive markdown actions and receipt reductions. wholesale jerseys Mentored by Basketball Hall of Fame coach Lute Olson at Arizona, he learned the game from the best.

cheap mlb jerseys

Calendar Editors A celebration of DIY culture, World Maker Faire New York 2015 runs Saturday Sunday, September 26 27, at the New York Hall of Science, 47 01 111th Street, Queens, NY 11368. The Liberals want to replace the child care benefit with a larger income tested benefit payment that would require a Justin Trudeau to find $2 billion to make it happen.. December 29 vs. wholesale nba jerseys Despite Charlotte forward Tyrus Thomas 21 points, it wasn enough to extend the Bobcats season. The near capacity crowd lapped up two tries by Jonny May and another for Mike Brown under the floodlights in this test event for evening kick offs at next year's World Cup. NPD results reflected that trend with PS3 and Xbox 360 software sales declining 35% versus the prior year. wholesale nfl jerseys Then junior Jocelyn Reckford was undefeated (6 0) at No. Slide a ferrule tube from the assembly kit of a copper line onto the end of the tubing as well. cheap nba jerseys The freezing conditions have brought misery for thousands of Syrians living in refugee camps in northern Jordan, Turkey and Lebanon. Nr han var handlas till Los Angeles Lakers, accepteras Radmanovic en fem r, 31 miljoner dollar kontrakt. If Blair had managed to score something better than Fruitbat McTang for his first major gig, he probably wouldn't have given up on rock promotion a few months later to go into Oxford University. wholesale mlb jerseys Bernie Sanders came out at statement saying just don't do it telling the president to cancel this visit to not. cheap jerseys Thankfully, I took notes. But McLemore is an important building block, albeit one in need of more stability around him. Dunked it on him so hard it was unbelievable. wholesalejerseysi Concealed but opulent details reference ancient civilizations, including a loop strap with hieroglyphics that spell out 'YZY.' Each screw on lace aglet is obelisk shaped, and the anaconda texture is echoed on the eyelets and leather lace toggle that carries the Roman numeral 'II.'. cheap nba jerseys He said the Iraqis had not provided all the forces promised, and in some cases have performed badly. In an article published in a July 2009 issue of Businessweek, India remains as the top outsourcing destination in the world. This vehicle was parked in the south parking lot at approximately 7:30 that morning. wholesale jerseys However, you should make sure that you will have mentorship. But air jordans is on a league of his own.. cheap Super Bowl jerseys Take the lace on the side of the hand and hold it between your thumb and the forefinger. dallascowboysjerseyspop Funicello had Multiple Sclerosis.. I thought we played a pretty good game actually. wholesale mlb jerseys The event featured art exhibitions, a fashion (sneaker show), open auditions for a Bud Light commercial, giveaways, contests, autograph signing and of course, food and beverages. Training primarily in South Korea, she has black belts in Taekwondo, Hapkido, and Muay Thai kickboxing. These were for use by professionals rather than the public. cheap jerseys Typically they're shown on national television by big corporations (MacDonald's, Nike, Starbucks, Target).

هوک اکشن (Action Hook) در وردپرس

thumb-52-hook-action

هوک یا قلاب یکی از عناصر اصلی وردپرس است. با استفاده از هوک می‌توانید از امکانات پلتفرم وردپرس استفاده کنید. هوک به قدری اهمیت دارد که بدون آشنایی با آن ممکن نیست بتوانید برای وردپرس پلاگین بنوسید.

در واقع هوک است که امکان ساخت پلاگین را به وجود می‌آورد. اگر هوک در وردپرس وجود نداشت، پس از هر بار به روزرسانی، کلیه پلاگین‌ها از کار می‌افتادند. پس از آشنایی با مفهوم هوک، تازه علت محبوبیت وردپرس و ساخته شدن هزاران پلاگین برای آن را می‌فهمید.

وردپرس دو نوع هوک اصلی دارد: هوک اکشن (Action hook) و هوک فیلتر (Filter hook)

در این مقاله به معرفی هوک اکشن می‌پردازیم.

هوک اکشن یا Action hook در وردپرس چیست؟

هوک در زبان انگلیسی به معنی قلاب است. هوک اکشن هم دقیقاً همانند یک قلاب عمل می‌کند. شما توابع را به این قلاب آویزان می‌کنید. هر وقت که آن قلاب برداشته شد، توابع شما هم اجرا می‌شوند.

هوک‌های اکشن این امکان را به شما می‌دهند که تابعی را در زمان مشخصی صدا بزنید. مثلاً تابعی نوشتید که می‌خواهید در هنگام لود شدن هر صفحه صدا زده شود. با استفاده از هوک مخصوص لود شدن صفحات می‌تونید این کار را انجام دهید.

چگونه توابع متصل به یک هوک صدا زده می‌شوند؟

برای اجرای توابع متصل به یک هوک باید از تابع do_action() استفاده کنید. این تابع به شکل زیر است:

<?php

            do_action($tag, $arg = ‘’);
?>

$tage: نام هوک اکشن

$arg: مقادیری که به اکشن داده می‌شوند. تعداد مقادیر از صفر با بالا می‌تواند باشد.

یک هوک اکشن با چندین پارامتر به صورت زیر نوشته می‌شود:

<?php

            do_action($tag, $arg_1, $arg_2, $arg_3);
?>

شاید تا الان کاملاً گیج شده باشید. بهتر است یک مثال را بررسی کنیم:

در وردپرس هوک اکشنی به نام wp_head وجود دارد. این هوک زمان اضافه کردن تگ <head> به هر صفحه سایت اضافه می‌شود. پس اگر تابعی به این هوک متصل کنید، در زمان اضافه شدن تگ <head> اجرا می‌شود.

بنابراین این هوک برای اضافه کردن فایل‌های جاوا اسکریپت یا CSS بسیار مناسب است.

<?php
            do_action(‘wp_head’);
?>

وقتی کد بالا اجرا می‌شود، وردپرس تمام توابعی که به هوک wp_head متصل هستند را می‌یابد و به نوبت اجرا می‌کند. در این مثال do_action هیچ پارامتری نگرفت. ولی در مثال زیر این تابع چند پارامتر می‌پذیرد:

<?php

            do_action(‘save_post’, $post_ID, $post);
?>

چگونه به یک هوک، تابع وصل کنیم؟

پس تا بدینجا متوجه شدید که هوک اکشن در واقع یک قلاب و اکشن یک تابع می باشد. توابع به این هوک وصل می‌شوند. هر موقع که تابع do_action برای یک هوک صدا زده شود، تمامی توابع متصل به آن اجرا می‌شوند.

حال سؤال اینجاست که چگونه یک تابع را به یک هوک متصل کنیم؟ برای اینکار تابعی با نام add_action در وردپرس وجود دارد؛ این تابع به فرم زیر می باشد:

<?php

            Add_action( $tag, $function, #priority, $accepted_args);
?>

$tag: اسم هوک اکشنی که می‌خواهید تابع به آن متصل شود.

$function: نام تابعی که می‌خواهید به هوک متصل کنید.

$priority: یک عدد است که بیانگر اولویت اجرای تابع می‌باشد. هر چه عدد کمتر باشد، در هنگام اجرای هوک، تابع زودتر صدا زده می‌شود. مقدار پیش فرض آن 10 می‌باشد.

$accepted_args: تعداد پارامترهایی که به تابع داده می‌شود. به صورت پیش فرض این تعداد برابر با یک است.

یکی از هوک‌های پرکاربرد، wp_footer است. این هوک پیش از تگ </body> صدا زده می‌شود. در مثال زیر یک اکشن به این هوک متصل می‌شود.

<?php

            Add_action(‘wp_footer’, ‘my_footer’,100);

            Function my_footer() {

                        echo ‘this is my footer’;
            }
?>

تابع myfooter با اولویت خیلی پایین به هوک wp_footer متصل شده است. هر بار که do_action برای این هوک صدا زده شود، تابع my_footer در آخر اجرا می‌شود.

چگونه یک تابع را از یک هوک حذف کنیم

برای حذف یک هوک باید از تابع remove_action() استفاده کنید. معمولاً نیاز است که اکشن‌های پیش‌فرض وردپرس را حذف و اکشن‌های خاص خودتان را اضافه کنید. این تابع در صورت موفقیت مقدار true ودر غیر اینصورت مقدار False را برمی‌گرداند.

<?php
            remove_action($tag, $function_to_remove, $priority, $accepted_args);
?>

$tag: نام هوکی که قرار است تابعی از آن حذف شود.

$function_to_remove: تابعی که می‌خواهید از هوک حذف کنید.

$priority: اولویتی که در تابع add_action() به اکشن داده شده است. مقدار پیش‌فرض 10 است.

$accepted_args: تعداد آگومان‌هایی که اکشن می‌پذیرد. مقدار پیش‌فرض یک است.

پارامتر $priority دقیقاً باید آنچه در do_action() ذکر شده است، برابر باشد. در غیر اینصورت اکشن حذف نخواهد شد و remove_action() مقدار fasle برمی‌گرداند.

سایر توابع مرتبط با هوک اکشن

تابع do_action_ref_array

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

<?php

            add_action (‘preg_get_posts’ , ‘random_post_order’);

            function random_post_order ($query){

                        if ($query -> is_home && empty ($query -> query_vars[‘suppress_filters’] ) )

                                   $query -> set ( ‘orderby’ , ‘rand’ );
            }
?>

در تکه کد بالا، تابع random_post_order به هوک preg_get_posts متصل شده است. این هوک در زمان گرفتن لیستی از پست‌ها اجرا می‌شود. بنابراین با اضافه کردن کد بالا، لیست‌ پست‌ها به صورت تصادفی مرتب می‌شود.

تابع remove_all_actions

این تابع تمامی توابع متصل به یک هوک را از آن جدا می‌کند. فرم این تابع به صورت زیر است:

<?
php
            remove_all_actions($tag, $priority);
?>

 

$tag نام هوک می باشد، $priority هم اولویت توابعی است که باید حذف شوند. اولویت اختیاری است و مقدار پیش‌فرض آن False است.

تابع has_action

این تابع برای چک کردن متصل بودن یا نبودن یک تابع خاص به یک هوک است.

<?php
            has_action($tag, $function_to_check);
?>

اگر پارامتر $function_to_check را خالی بگذارید، دو حالت پیش می‌آید. اگر تابعی به هوک متصل باشد مقدار True و در غیر اینصورت مقدار Fasle برمی‌گرداند. اگر این پارامتر را قید کنید و تابع هم به هوک متصل باشد، priority یا اولویت تابع بازگردانده می‌شود. در غیر اینصورت مقدار false برگردانده می‌شود.

تابع did_action

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

هوک‌های رایج در وردپرس

آشنایی با هوک‌های رایج و پراستفاده از وردپرس اهمیت زیادی دارد. در صورتی که با هوکی ناآشنا برخورد کردید، با استفاده از گوگل و سایت وردپرس می‌توانید توضیح آن را بیابید.

Plugins_loaded

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

Init

این هوک پس از آماده شدن بیشتر فایل‌های وردپرس اجرا می‌شود. با این هوک می‌توانید اطلاعات وردپرس را دریافت کنید. زیرا در زمان اجرا شدن آن اطلاعات آماده هستند.

Admin_menu

این هوک در زمان لود شدن صفحه ادمین اجرا می‌شود اگر پلاگین شما از صفحه ادمین استفاده می‌کند، باید از این هوک استفاده کنید.

Template_redirect

این هوک در زمان انتخاب قالب صفحه‌ای که کاربر سفارش داده، اجرا می‌شود. مثلاً با این هوک می‌توانید چک کنید که اگر صفحه دیده شده یک پست باشد، CSS دلخواه شما لود شود.

Wp_head

این هوک در زمان اضافه شدن تگ <head> اجرا می‌شود.

 



Add Comment Register



پاسخ دهید

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

ورود اعضای سایت

ماهنامه باشگاه وردپرس

دانلود رایگان

ما را دنبال کنید

نمادها

اینستاگرام



لطفا نام و ایمیل خود را وارد کنید
تا این آموزش ارزشمند همین الان برایتان ایمیل شود

فیلم آموزشی را همین الان برایم ایمیل کن
چند ثانیه تا دانلود فاصله دارید!
کافی است آدرس ایمیلتان را وارد کنید
ما هم مثل شما از ایمیل های مزاحم متنفریم
چند ثانیه تا دانلود فاصله دارید!
کافی است آدرس ایمیلتان را وارد کنید
ما هم مثل شما از ایمیل های مزاحم متنفریم
چند ثانیه تا دانلود فاصله دارید!
کافی است آدرس ایمیلتان را وارد کنید
ما هم مثل شما از ایمیل های مزاحم متنفریم
دانلود این فیلم آموزشی با کیفیت اصلی
کافی است آدرس ایمیلتان را وارد کنید
ما هم مثل شما از ایمیل های مزاحم متنفریم
دانلود اولین ماهنامه تخصصی وردپرس
کافی است آدرس ایمیلتان را وارد کنید
ما هم مثل شما از ایمیل های مزاحم متنفریم