آموزش وردپرس ، اکشن ها و فیلتر ها – بخش دوم

%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3-%d8%8c-%d8%a7%da%a9%d8%b4%d9%86-%d9%87%d8%a7-%d9%88-%d9%81%db%8c%d9%84%d8%aa%d8%b1-%d9%87%d8%a7-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88

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

نحوه ساخت و استفاده از Action

همانطور که یاد گرفتیم چگونه یک تابع را بسازیم و به قالب خود اضافه کنیم و در مکان مورد نظر از آن استفاده کنیم، در این بخش می خواهیم نحوه استفاده از Action ها را بررسی کنیم. در نظر بگیرید که در محلی خاص از یک قالب می خواهیم چندین مورد را با هم فراخوانی کنیم به عنوان مثال می خواهیم در حین اجرای یک صفحه دو یا سه و یا بیشتر تابع اجرا شود برای این کار بهتر است از سیستم وردپرس کمک بگیریم چرا که بعد ها در توسعه کمک بیشتر خواهد کرد در قسمت قبلی یک تابع به نام hello_world را ساختیم، حال آن تابع را به یک اکشن منتصب می کنیم و هر کجا که آن اکشن اجرا شد تابع ما نیز اجرا شود، برای ساخت اکشن از روش زیر استفاده می کنیم:

function hello_world(){
	echo "hello wpmen";
}
add_action('wpmen_action' , 'hello_world');

به همین سادگی یک اکشن می سازیم توجه کنید کدهای بالا را در فایل functions.php قالب وردپرس وارد کنید. سپس برای آن که از این اکشن در محل مورد نظر استفاده کنیم کافیست در محل مورد نظر کد زیر را وارد کنیم:

do_action('wpmen_action');

اینگونه به وردپرس خواهیم گفت که در زمان اجرای قالب تابع مورد نظر ما را در محلی که کد بالا را در آن قرار داده ایم اجرا کن، اما موضوع بسیار مهم این است که تفاوت ایجاد اکشن و فراخوانی ساده یک تابع در این است که می توان در یک اکشن چندین تابع را همزمان فراخوانی کرد به عنوان مثال یک تابع دیگر می سازیم:

function hello_world_2(){
	echo "hello wpmen 2";
}

add_action('wpmen_action' , 'hello_world_2');

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

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

گاهی اوقات نیاز است که تمامی اکشن ها و یا یک اکشن را به طور خاص حذف کنیم توجه کنید فرض ما بر این است که یک پلاگین نصب کرده ایم و یا یک قالب داریم که در آن یک اکشن وجود دارد و نمی خواهیم آن اجرا شود در حالی که نمی توانیم فایل اصلی را دستکاری کنیم در این صورت تنها می بایست آن اکشن را غیر فعال کرد به مانند کد زیر:

remove_all_actions('wpmen_action');


اگر کد بالا را نیز به سیستم اضافه کنید دیگر اکشن مورد نظر ما اجرا نخواهد شد. این درحالی است که اکشن را پاک نکردیم تنها با این کار غیر فعال می شود.

 

نحوه ساخت و استفاده از Filter

حالا که با ساخت واستفاده از Action ها آشنا شدیم دیدمان نسبت به توسعه وردپرس گسترده تر شد و موارد زیادی را می توانیم سریع تر از قبل با راه کار استفاده از اکشن ها راه اندازی و پیاده سازی کنیم اما موضوع بعدی که تکمیل کننده این سه بخش می باشد بحث فیلتر ها ( Filters ) می باشد. زمانی را در نظر بگیرید که می خواهید بخشی از یک تابع را تغییر دهید یا اینکه می خواهید آن را کامل تغییر دهید برای این کار وردپرس راه کاری را در اختیارتان قرار می دهد که به سرعت می توانید این کار را عملیاتی کنید. فیلتر های برای این منظور ساخته شده اند که به سادگی بتوان بخشی از یک تابع یا همه آن را عوض کرد در حالی که تابع اصلی دستکاری نشود. با مثال زیر این بخش را پیگیری می کنیم:

function hello_world(){
	$wpmen = "hello wpmen"; 
	return $wpmen ;
}
add_action('wpmen_action' , 'hello_world');



function hello_world_filter(){
	$wpmen = " hello wpmen filter"; 
	return  $wpmen;
}
add_filter('hello_world' , 'hello_world_filter');

موارد بالا را در فایل functions.php وارد کردیم و در محل مورد نظر مقدار زیر را وارد می کنیم:

echo  apply_filters('hello_world' , 'hello_world_filter');

حال که به خروجی نگاهی بیندازیم متوجه خواهید شد که مقدار متغییر ما تغییر کرده است و مقدار جدید به آن اختصاص داده شده است. این مرحله کمی از مراحل قبلی سخت تر است در این قسمت مقدار ها فیلتر می شوند برای درک بهتر آن تمرین های زیاد تری را انجام دهید به عنوان مثال ما در زیر مقدار خروجی خلاصه مطالب در وردپرس را به عدد ۳۳ تغییر می دهیم:

function excerpt_length_example( $words ) {
 return 33;
}
add_filter( 'excerpt_length', 'excerpt_length_example' );

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

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

منبع :‌ مردان وردپرس

تاریخ آخرین بروزرسانی : ۱۷ آبان ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.