add_theme_support(string $feature, mixed $args)

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

توضیحات:

تابع add_theme_support را باید در فایل functions.php فراخوانی کنید. در صورتی که بخواهید از این تابع به همراه یک هوک استفاده کنید، باید آن را با after_setup_theme استفاده کنید تا در زمان init شدن ویژگی‌های مورد نظر شما اضافه شود.

یک نمونه از استفاده تابع add_theme_support

add_theme_support( 'title-tag' );
add_theme_support( 'custom-logo', array(
    'height' => 480,
    'width'  => 720,
) );
پارامترها
    • feature: این پارامتر از نوع متنی است و مقداردهی آن اجباری می‌باشد.مقدار این پارامتر باید یکی از مقادیر زیر باشد.
      1. post-format: در صورتی که شما می خواهید در قالبتان نوع پست خاصی را پشتیبانی کنید باید این مقدار را ست کنید.
      2. post-thumbnails: در صورتی که بخواهید قالب شما از تصویر شاخص در پستها استفاده کنید این مقدار را ست کنید.
      3. html5: برای پشتیبانی از تگ‌های html5
      4. custom-logo: پشتیبانی از لگو متفاوت
      5. custom-header-uploads: امکان استفاده از هدر اختصاصی
      6. custom-header:هدر اختصاصی
      7. custom-background: پس زمینه اختصاصی
      8. title-tag: این ویژگی باعث نمایش عنوان صفحه می‌شود و در wp_title به کار می‌رود.
      9. starter-content: قالب را برای نمایش اولیه مقداردهی می‌کند.
      10. و….
    • args: این پارامتر اختیاری است و در صورتی که یک ویژگی نیاز به مقداردهی داشت در این پارامتر جای می‌گیرد.
خروجی

خروجی این تابع false یا void می باشد که به معنی انجام کار یا شکست در انجام کار می باشد.

منبع فایل

wp-includes/theme.php

چند مثال از موارد پرکاربرد

مثال برای ویژگی post_format

برای فعال شدن ویژگی جدید به شکل زیر تابع add_theme_support را فراخوانی و استفاده می کنیم.

add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );

مثال استفاده از Post Thumbnails
برای اینکه در تم خود قابلیت اضافه کردن Thumbnails را داشته باشید باید از این ویژگی به شکل زیر استفاده کنید. توجه داشته باشید که مقداردهی args اختیاری است و در صورتی که مقداردهی نشود با مقادیر پیش فرض وردپرس پر می شود.

	
add_theme_support( 'post-thumbnails' );
add_theme_support( 'post-thumbnails', array( 'post' ) );          // Posts only
add_theme_support( 'post-thumbnails', array( 'page' ) );          // Pages only
add_theme_support( 'post-thumbnails', array( 'post', 'movie' ) ); // Posts and Movies

استفاده از این ویژگی باید قبل از هوک init باشد. به این معنی که باید مستقیما داخل functions.php باشد یا به هوک after_setup_theme اتچ شده باشد.
همچنین شما می توانید برای اضافه کردن thumbnail در انواع پستهای سفارشی از تابع register_post_type استفاده کنید.

مثال استفاده از custom-background
add_theme_support( 'custom-background' );

شما می توانید با یک مقدار پیش فرض این ویژگی را فعال کنید.

$defaults = array(
    'default-image'          => '',
    'default-preset'         => 'default', // 'default', 'fill', 'fit', 'repeat', 'custom'
    'default-position-x'     => 'left',    // 'left', 'center', 'right'
    'default-position-y'     => 'top',     // 'top', 'center', 'bottom'
    'default-size'           => 'auto',    // 'auto', 'contain', 'cover'
    'default-repeat'         => 'repeat',  // 'repeat-x', 'repeat-y', 'repeat', 'no-repeat'
    'default-attachment'     => 'scroll',  // 'scroll', 'fixed'
    'default-color'          => '',
    'wp-head-callback'       => '_custom_background_cb',
    'admin-head-callback'    => '',
    'admin-preview-callback' => '',
);
add_theme_support( 'custom-background', $defaults );
مثال از custom Logo

این ویژگی از نسخه 4.5 به بعد وردپرس ایجاد شد و اجازه می‌دهد که لگو اختصاصی داشته باشید.

add_theme_support( 'custom-logo' );

همراه با مقادیر اختصاصی

add_theme_support( 'custom-logo', array(
    'height'      => 100,
    'width'       => 400,
    'flex-height' => true,
    'flex-width'  => true,
    'header-text' => array( 'site-title', 'site-description' ),
) );
مثال از HTML5:

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

add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption' ) );//Paste Your Code Here

این تابع مقادیر متنوع دیگری دارد که می توانید به مستندات وردپرس مراجع و درباره نحوه کارکرد آنها مطالعه کنید.