توابع پرکاربرد در فایل functions.php وردپرس
فایل functions.php در قالبهای وردپرس (WordPress) یکی از اجزای کلیدی است که مسئولیت مدیریت و تنظیمات مختلف سایت را بر عهده دارد. این فایل، جایی است که توابع سفارشی و پرکاربرد برای توسعهدهندگان نوشته میشوند. در ادامه، ما به بررسی توابع پرکاربرد در فایل functions.php خواهیم پرداخت.
چرا فایل functions.php مهم است؟
فایل functions.php در قالبهای وردپرس، مانند فایل index.php در سایر سیستمهای مدیریت محتوا، ابزاری برای اضافه کردن عملکردهای سفارشی به سایت است. این فایل هنگام بارگذاری سایت فراخوانی میشود و به طور مستقیم بر روی ساختار سایت تأثیر میگذارد.
بررسی توابع پرکاربرد در functions.php
در اینجا به برخی از توابع کلیدی و پرکاربرد در فایل functions.php وردپرس خواهیم پرداخت. هر تابع به صورت خلاصه معرفی شده و نحوه استفاده و عملکرد آن بازتاب داده میشود.
1. add_action()
تابع add_action() یکی از مهمترین توابع در وردپرس است که برای افزودن عملکردهای سفارشی به زمانهای مختلف اجرا شدن سایت استفاده میشود. این تابع به صورت زیر نوشته میشود:
add_action( 'hook_name', 'function_name', $priority, $accepted_args );در اینجا:
- hook_name: نام هُک (hook) که باید در آن عملکرد اجرا شود.
- function_name: نام تابعی که باید فراخوانی شود.
- priority: اولویت اجرای تابع (عددی، معمولاً 10).
- accepted_args: تعداد آرگومانهایی که تابع میتواند دریافت کند.
مثال:
add_action( 'wp_enqueue_scripts', 'my_custom_script' );
function my_custom_script() {
wp_enqueue_script( 'custom-js', get_template_directory_uri() . '/js/custom.js' );
}این تابع، افزودن یک فایل جاوااسکریپت سفارشی به سایت را در زمان بارگذاری صفحات انجام میدهد. با استفاده از wp_enqueue_scripts، تضمین میشود که فایل جاوااسکریپت به درستی بارگذاری شود.
2. add_filter()
تابع add_filter() نیز یکی از توابع اساسی است که برای تغییر محتوای خروجی سایت، مانند عنوان، متن و غیره، استفاده میشود.
add_filter( 'filter_name', 'function_name', $priority, $accepted_args );این تابع همچون add_action() است، اما به جای اجرای عملکرد، محتوای خروجی را تغییر میدهد.
مثال:
add_filter( 'the_title', 'custom_title' );
function custom_title( $title ) {
return 'عنوان سفارشی: ' . $title;
}در این کد، عنوان هر پست یا صفحه با افزودن “عنوان سفارشی:” در آغاز تغییر میکند.
3. wp_enqueue_script() و wp_enqueue_style()
این دو تابع برای بارگذاری فایلهای جاوااسکریپت و استایل (CSS) در سایت استفاده میشوند. این توابع همواره با استفاده از add_action() در زمان مناسب اجرا میشوند.
wp_enqueue_script( 'script-name', $src, $deps, $ver, $in_footer );
wp_enqueue_style( 'style-name', $src, $deps, $ver );در اینجا:
- script-name / style-name: نام فایل.
- $src: مسیر فایل.
- $deps: وابستگیهای فایل (مثلاً jQuery).
- $ver: نسخه فایل.
- $in_footer: اگر در پایین صفحه بارگذاری شود.
4. register_post_type()
این تابع برای ثبت انواع پستهای سفارشی (Custom Post Types) استفاده میشود. این کار به کاربران اجازه میدهد ساختار محتوای خاصی را در سایت تعریف کنند.
register_post_type( 'product', array(
'labels' => array(
'name' => 'محصولات',
'singular_name' => 'محصول'
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'thumbnail' )
) );این تابع، یک نوع پست سفارشی به نام “product” را ایجاد میکند که دارای عنوان، محتوا و تصویر بندانگشتی است.
5. register_taxonomy()
تابع register_taxonomy() برای ثبت تکسونومی (Taxonomy) سفارشی در وردپرس استفاده میشود. این تابع به کاربران اجازه میدهد دستهبندیهای سفارشی را ایجاد کنند.
register_taxonomy( 'product_category', 'product', array(
'labels' => array(
'name' => 'دستهبندی محصولات',
'singular_name' => 'دستهبندی'
),
'hierarchical' => true,
'show_ui' => true
) );این کد، یک تکسونومی سفارشی به نام “product_category” را برای نوع پست “product” ایجاد میکند.
6. add_theme_support()
این تابع برای فعال کردن قابلیتهای خاصی در قالب استفاده میشود، مانند پشتیبانی از تصاویر بندانگشتی (featured images)، پشتیبانی از عنوان سایت (title tag) و غیره.
add_theme_support( 'post-thumbnails' );
add_theme_support( 'title-tag' );این دو تابع، پشتیبانی از تصاویر بندانگشتی و عنوان سایت را فعال میکنند.
7. get_template_directory_uri()
تابع get_template_directory_uri() مسیر فعلی قالب را برمیگرداند. این تابع برای دسترسی به فایلهای داخل قالب (مانند CSS، JS و غیره) استفاده میشود.
echo get_template_directory_uri();خروجی این تابع مانند: https://example.com/wp-content/themes/mytheme است.
8. wp_nav_menu()
این تابع برای نمایش منوی سفارشی در قالب استفاده میشود. این منوها را میتوان با استفاده از وردپرس ایجاد کرد.
wp_nav_menu( array(
'theme_location' => 'primary',
'menu_class' => 'main-menu'
) );این تابع، منویی با نام “primary” را در قالب نمایش میدهد.
9. get_post_meta()
این تابع برای گرفتن متادیتای پست (meta data) استفاده میشود. این متادیتاها میتوانند شامل اطلاعات سفارشی، مانند قیمت، تاریخ و غیره باشند.
echo get_post_meta( $post_id, 'price', true );این تابع، مقدار متادیتای “price” را از پست با شناسه $post_id برمیگرداند.
10. wp_localize_script()
این تابع برای ارسال دادههای سرور به جاوااسکریپت استفاده میشود. به این ترتیب، متغیرهای سروری در جاوااسکریپت قابل استفاده خواهند بود.
wp_localize_script( 'custom-js', 'ajax_object', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'my_nonce' )
) );این کد، متغیرهای ajax_url و nonce را در جاوااسکریپت قرار میدهد.
برتریها و نکات مهم در استفاده از توابع functions.php
استفاده از توابع در فایل functions.php به صورت مناسب و با دقت، یکی از عوامل کلیدی در توسعه سایتهای وردپرس است. برخی نکات مهم:
- همیشه توابع خود را در زمان مناسب اجرا کنید (با استفاده از
add_action()). - از
wp_enqueue_script()وwp_enqueue_style()برای بارگذاری فایلها استفاده کنید. - همیشه از تابع
add_filter()برای تغییر محتوا استفاده کنید. - از
wp_localize_script()برای انتقال دادهها به جاوااسکریپت استفاده کنید.
آیا این مطلب برای شما مفید بود ؟




