قلاب های وردپرس چیست و چگونه از آنها استفاده کنیم + مثال های عملی

قلاب های وردپرس می توانند با گسترش قابلیت های وب سایت به شما کمک کنند تا به اهداف تجاری خود برسید. Hooks به شما امکان می دهد بدون تغییر در هسته وردپرس، در مکان های خاص با هم تعامل داشته باشید و کد را تغییر دهید. آنها اصلاح و اضافه کردن ویژگی های مختلف به پلاگین ها و تم های وردپرس خود را برای کاربران آسان می کنند.

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

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

هدف از قلاب

هدف اصلی هوک ها اجرای خودکار یک تابع است. علاوه بر این، این تکنیک می تواند بدون دست زدن به فایل های اصلی وردپرس، ویژگی هایی را به وردپرس اضافه یا تغییر دهد.

قلاب ها به دو دسته تقسیم می شوند:

  • عمل – به کاربران اجازه می دهد داده ها را اضافه کنند یا روش کار وب سایت خود را تغییر دهند. یک اقدام hook در زمان خاصی که هسته وردپرس، افزونه ها و تم ها در حال اجرا هستند اجرا می شود.
  • فیلتر کنید – می تواند داده ها را در طول اجرای هسته وردپرس، افزونه ها و قالب تغییر دهد.

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

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

مهم! برای استفاده از هر یک از قلاب های گفته شده، کاربر باید یک تابع سفارشی به نام a بنویسد پاسخ به تماس و آن را با وردپرس ثبت کنید hook برای یک عمل یا فیلتر خاص

در زیر نمونه ای از یک عمل آورده شده است hook که متصل می کند mytheme_script عملکرد با wp_enqueue_scripts عمل.

function mytheme_script() 
{wp_enqueue_script( 'my-custom-js', 'custom.js', false );}
add_action( 'wp_enqueue_scripts', 'mytheme_script' );

روش استفاده از قلاب وردپرس

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

ایجاد اکشن هوک

برای افزودن یک اقدام hook، باید آن را فعال کنید add_action () عملکرد در افزونه وردپرس برای انجام این کار، کد زیر را به فایل functions.php وردپرس خود اضافه کنید:

add_action( $target_hook, $the_name_of_function_you_want_to_use, $priority, $accepted_args );

قلاب ها برای عملکرد صحیح از مقیاس اولویت استفاده می کنند. این مقیاس یک مقدار ترتیبی خودکار است روی مقیاسی از 1 تا 999. ترتیب توابع مرتبط با آن خاص را مشخص می کند hook. مقدار اولویت کمتر به این معنی است که تابع زودتر اجرا می شود، در حالی که تابع بالاتر دیرتر اجرا می شود.

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

$accepted_args مسئول تعریف تعداد آرگومان هایی است که تابع می پذیرد. به طور پیش فرض، سیستم آن را به عنوان تنظیم می کند 1. در اینجا یک نمونه از یک عمل است hook برای تم وردپرس بیست و سه به پایان اضافه شده است functions.php فایل:

<?php
function hook_javascript() {
    ?>
        <script>
            alert('Hello world...');
        </script>
    <?php
}
add_action('wp_head', 'hook_javascript');
?>

به الگوی مثال بالا توجه کنید:

  • – مکانی که شما آن را قرار داده اید hook برای عملکرد.
  • تابع hook_javascript() – تابعی که بر مقدار اولیه تأثیر می گذارد و در نتیجه هشدار را برای کاربران نشان می دهد.
  • <اسکریپت> – نشان دهنده متنی است که می خواهید نمایش دهید روی را target_hook.
  • هشدار (‘سلام دنیا…’); – هشداری را با عبارت “Hello World” برای کاربران نمایش می دهد.
  • add_action – دستور ایجاد اکشن hook.
  • wp_head‘- هدف hook که تابع تغییر خواهد کرد.

در عمل به این صورت است:

عمل hook مثال on یک وب سایت زنده وردپرس  این یک هشدار با یک پیام مشخص شده توسط کاربر نشان می دهدعمل hook مثال on یک وب سایت زنده وردپرس  این یک هشدار با یک پیام مشخص شده توسط کاربر نشان می دهد

ایجاد قلاب فیلتر

می توانید یک فیلتر ایجاد کنید hook با استفاده از add_filter() تابع. فیلتر hook یک مقدار را تغییر می دهد، فیلتر می کند یا با یک مقدار جدید جایگزین می کند.

شبیه به یک عمل hook، یک مقدار را با فیلتر مربوطه فیلتر می کند hook توابع مانند اعمال فیلتر.

در اینجا یک نمونه از فیلتر است hook که به آن اضافه خواهیم کرد functions.php فایل برای تم وردپرس بیست و سه:

add_filter( 'the_content', 'change_content' );
function change_content ( $content ) {
    $content="Filter hooks are amazing!";
    return $content;
}

بیایید قطعه کد را با جزئیات بیشتری تجزیه و تحلیل کنیم:

  • محتوای – هدف hook که تابع تغییر خواهد کرد.
  • تغییر_محتوا‘ – بر مقدار اولیه تأثیر می گذارد، بنابراین محتوای واقعی را تغییر می دهد.
  • $content = ‘فیلتر قلاب شگفت انگیز است!’; – محتوای تمام پست های شما را با عبارت نوشته شده جایگزین می کند.
  • برگرداندن $content; – مقدار جدید را در پایان برمی گرداند.

حال، اگر هنگام استفاده از تم بیست و بیست و سه، هر پستی را باز کنیم، چیزی شبیه به این خواهیم دید:

فیلتر کنید hook مثال on یک وب سایت زنده وردپرس  این محتوا را برای همه پست ها با عبارت مشخص شده توسط کاربر جایگزین می کندفیلتر کنید hook مثال on یک وب سایت زنده وردپرس  این محتوا را برای همه پست ها با عبارت مشخص شده توسط کاربر جایگزین می کند

همانطور که از مثال مشاهده می شود، عملکرد فیلتر کل محتوا را با عبارت “قلاب های فیلتر شگفت انگیز هستند” جایگزین کرد.

بازکردن اکشن ها و فیلترها

اگر می خواهید دستوری را غیرفعال کنید add_action() یا add_filter() در کد وردپرس خود استفاده کنید remove_action() و remove_filter().

این توابع می توانند اعمال یا فیلترهای خاصی را حذف کنند. استفاده از آنها به کاربران این امکان را می دهد که یک افزونه را با تعداد زیادی قلاب غیر ضروری تغییر دهند که ممکن است بهینه سازی سایت را مختل کند.

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

در اینجا یک نمونه از remove_action() در وردپرس:

remove_action( 'wp_print_footer_scripts', 'hostinger_custom_footer_scripts');
add_action( 'wp_print_footer_scripts', 'hostinger_custom_footer_scripts_theme');
function hostinger_custom_footer_scripts_theme()
{
?>
<script>//example of output by theme</script>
<?php
}

مثال بالا نشان می دهد که remove_action() اسکریپت های پیش فرض پاورقی وردپرس را حذف می کند و آنها را جایگزین می کند هاستینگerتم اسکریپت های پاورقی سفارشی.

این دستور برای انواع اکشن هوک ها در وردپرس اعمال می شود. علاوه بر این، در اینجا یک نمونه از remove_filter():

remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}

مثال بالا روش غیرفعال کردن را نشان می دهد wp_staticize_emoji_for_email، که ایموجی ها را به تصاویر ثابت تبدیل می کند.

سپس آنها را جایگزین می کند disable_emojis_tinymce، که ویژگی ایموجی را در وردپرس غیرفعال می کند. این می تواند به سرعت بخشیدن به سایت شما کمک کند، زیرا شکلک ها باید یک درخواست HTTP اضافی ارائه دهند.

علاوه بر این، می توانید از remove_filter() دستور غیرفعال کردن چندین فیلتر در یک دنباله. به عنوان مثال:

function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
add_action( 'init', 'disable_emojis' );
}

هدف کد بالا حذف عملکرد ایموجی در وردپرس است. این نشان می دهد که هیچ محدودیتی وجود ندارد روی چند تا remove_filter دستوراتی که کاربران می توانند در a جاسازی کنند functions.php فایل.

نمونه های کاربردی قلاب وردپرس

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

admin_post_thumbnail_size

این فیلتر hook یک تصویر کوچک از پست شما را در بخش تصویر ویژه نمایش می دهد. سه پارامتر تابع را به هم متصل می کند: $size، $thumbnail_id، و $پست.

را hook باید شبیه این باشد:

$size = apply_filters( 'admin_post_thumbnail_size', $size, $thumbnail_id, $post );

به یاد داشته باشید که می توانید تغییر دهید اندازه دلار پارامتر به دلخواه شما برای مثال، اگر می‌خواهید اندازه تصویر کوچک را روی ۲۴۰×۲۴۰ پیکسل تنظیم کنید، از این کد استفاده کنید:

$size = apply_filters( 'admin_post_thumbnail_size', 240, $thumbnail_id, $post);

همچنین می توان با اضافه کردن یک اندازه دلخواه برای تصویر کوچک تنظیم کرد آرایه () تابع. کد به شکل زیر خواهد بود:

$size = apply_filters( 'admin_post_thumbnail_size', array(240, 400), $thumbnail_id, $post);

را آرایه () تابع بالا تصویر کوچک را در ابعاد 240 در 400 پیکسل تنظیم می کند.

after_password_reset

این اقدام hook هنگامی که کاربر رمز عبور خود را بازنشانی می کند فعال می شود. را hook شامل دو پارامتر $user و $new_pass، و به شکل زیر است:

do_action( 'after_password_reset', $user, $new_pass );

به عنوان مثال، وردپرس از این استفاده می کند hook با reset_password() تابع.

customize_loaded_components

این hook فیلتری برای حذف برخی از اجزای وردپرس از هسته است process. این توابع کار می کنند روی فایل های اصلی مانند wp-activate.php، wp-config-sample.php، یا wp-settings.php.

با این حال، توجه به این نکته ضروری است customize_loaded_components نمی توان به یک موضوع اضافه کرد زیرا فقط در طول فعال می شود plugins_loaded فاز.

را hook از دو پارامتر تشکیل شده است: اجزای $ و $این، و به نظر می رسد این است:

$components = apply_filters( 'customize_loaded_components', array( 'widgets', 'nav_menus' ), $this );

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

امکان سفارشی کردن آن وجود دارد آرایه () تابعی برای تعیین اینکه کدام مؤلفه ها حذف شوند. مثال بالا نشان می دهد که ویجت ها و nav_menus از هسته حذف شوند process.

نکته حرفه ای

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

نتیجه

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

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

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

با تکنیک های وردپرس بیشتر آشنا شوید تا دانش خود را گسترش دهید

چند سایت وردپرس
ویرایشگر متن وردپرس
وردپرس بدون سر
فایل htaccess وردپرس
معماری وردپرس: ساختار وب سایت، فایل های رایج و دایرکتوری ها
آموزش وردپرس REST API
روش استفاده از XAMPP

سوالات متداول قلاب های وردپرس

اگر علاقه مند به یادگیری بیشتر در مورد قلاب های وردپرس هستید، در اینجا چند سوال متداول وجود دارد.

قلاب های اصلی برای افزونه های وردپرس چیست؟

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

کجاها را در وردپرس اضافه کنم؟

هوک ها در وردپرس را می توان در افزونه یا قالب اضافه کرد functions.php فایل یا در یک فایل افزونه جداگانه. قلاب های اکشن با استفاده از add_action() عملکرد، در حالی که قلاب فیلتر با استفاده از اضافه شده است add_filter() تابع.

آیا قلاب های وردپرس مهم هستند؟

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