Функция add_theme_support() в WordPress: синтаксис, примеры, советы

## Функция add_theme_support() в WordPress

Функция add_theme_support() позволяет вам зарегистрировать поддержку различных функций для вашей темы WordPress. Она должна быть вызвана в файле functions.php вашей темы, чтобы корректно работать. Если использовать её с хук, это должно быть сделано в хуке after_setup_theme. Хук init может быть слишком поздним для некоторых функций.

### Пример использования

Вот как можно использовать эту функцию:

```php
add_theme_support( 'title-tag' );
add_theme_support( 'custom-logo', array(
    'height' => 480,
    'width'  => 720,
) );

Возвращаемое значение

Функция возвращает:

  • null, если все прошло успешно.
  • false, если произошла ошибка.

Синтаксис

add_theme_support( $feature, ...$args );

Параметры

  • $feature (строка, обязательный) — это функция, которую вы хотите добавить. Популярные значения:

    • 'admin-bar' — поддержка панели администратора.
    • 'align-wide' — поддержка широкого выравнивания.
    • 'custom-logo' — поддержка кастомного логотипа.
    • 'title-tag' — поддержка тега заголовка.
    • И многие другие...
  • ...$args (разные, необязательный) — дополнительные аргументы для определённых функций.

Примеры

Регистрация функций темы

Вставьте следующий код в файл functions.php вашей темы, чтобы добавить различные функции:

// Регистрация функций темы
add_action( 'after_setup_theme', function() {
    // Возможность изменять фон из административной панели
    add_theme_support( 'custom-background' );

    // Возможность изменять изображения в заголовке из административной панели
    add_theme_support( 'custom-header' );

    // Включить меню в административной панели
    add_theme_support( 'menus' );

    // Автоматическая генерация тега 
    add_theme_support( 'title-tag' );

    // Возможность загружать логотип
    add_theme_support( 'custom-logo', [
        'height'      => 190,
        'width'       => 190,
        'flex-width'  => false,
        'flex-height' => false,
        'header-text' => '',
    ] );
});</code></pre>
<h3>Примечания</h3>
<ul>
<li>Глобальная переменная: <code>$_wp_theme_features</code> — массив, который хранит информацию о поддерживаемых функциях темы.</li>
</ul>
<h3>Изменения в версии</h3>
<ul>
<li><strong>С 2.9.0</strong>: Функция была введена.</li>
<li><strong>С 4.1.0</strong>: Добавлена поддержка <code>title-tag</code>.</li>
<li><strong>С 5.0.0</strong>: Добавлена поддержка новых возможностей, таких как <code>responsive-embeds</code> и <code>editor-color-palette</code>.</li>
<li>Более поздние версии добавили поддержку для множества других функций.</li>
</ul>
<h3>Дополнительная информация</h3>
<p>Если вам нужно проверить, поддерживает ли текущая тема какую-либо функцию, используйте функцию <code>current_theme_supports()</code>:</p>
<pre><code class="language-php">if ( current_theme_supports( 'custom-logo' ) ) {
    // Логотип поддерживается
}</code></pre>
<h4>Заключение</h4>
<p>Функция <code>add_theme_support()</code> — это мощный инструмент для настройки и улучшения функциональности вашей темы WordPress. С её помощью вы можете доба��лять различные функции, которые улучшат пользовательский опыт и оформляют ваш сайт более привлекательно.</p>
<pre><code></code></pre>
		</div>
	</article>

	
    
    <div class="single-post__share"><section class="sharing-box content-margin content-background clearfix"><div class="share-box__icon"><div class="dots-icon"><i class="fa-solid fa-ellipsis"></i></div><div class="share-button-wrapper"><a target="_blank" class="share-button share-twitter" href="https://twitter.com/intent/tweet?url=https://stepv.ru/funkcziya-add_theme_support-v-wordpress-sintaksis-primery-sovety/&text=Функция add_theme_support() в WordPress: синтаксис, примеры, советы" title="Tweet this"><i class="fa-brands fa-twitter"></i></a><a target="_blank" class="share-button share-facebook" href="https://www.facebook.com/sharer/sharer.php?u=https://stepv.ru/funkcziya-add_theme_support-v-wordpress-sintaksis-primery-sovety/" title="Share on Facebook"><i class="fa-brands fa-facebook-f"></i></a><a class="share-button share-envelope" href="mailto:open@stepv.ru"><i class="fa-solid fa-envelope"></i></a><a class="share-button share-pinterest" href="http://www.pinterest.com/pin/create/button/?url=https%3A%2F%2Fstepv.ru%2Ffunkcziya-add_theme_support-v-wordpress-sintaksis-primery-sovety%2F&media=&description=Функция add_theme_support() в WordPress: синтаксис, примеры, советы" target="_blank"><i class="fa-brands fa-pinterest-p"></i></a><a class="share-button share-copy" data-copy-link-url="https://stepv.ru/funkcziya-add_theme_support-v-wordpress-sintaksis-primery-sovety/" data-message="Copied!" nopopup="true" href="#" title="Copy URL to clipboard"><i class="fa-solid fa-link"></i></a></div></div></section></div> 

	
		<nav class="navigation post-navigation">
			<div class="nav-links">
				<div class="nav-previous">
											<a href="https://stepv.ru/poluchenie-soderzhimogo-posta-s-funkcziej-get_the_content/" rel="prev">
							<div class="prev-post">
								<div class="ms-spp">
									<span class="nav-label" aria-hidden="true">Previous Article</span>
									<h3 class="post-title">Получение содержимого поста с функцией get_the_content()</h3>
								</div>
							</div>
						</a>
									</div>
				<div class="nav-next">
											<a href="https://stepv.ru/poluchenie-spiska-mime-tipov-fajlov-v-wordpress-funkcziya-wp_get_mime_types/" rel="next">
							<div class="next-post">
								<div class="ms-spn">
									<span class="nav-label" aria-hidden="true">Next Article</span>
									<h3 class="post-title">Получение списка MIME-типов файлов в WordPress: функция wp_get_mime_types()</h3>
								</div>
							</div>
						</a>
									</div>
			</div>
		</nav>

	
			<section class="ms-related-posts">
			<div class="alignwide">
				<h2 class="ms-rp--title">Related Posts</h2>
									<article class="ms-rp--block">

						<div class="ms-rp--inner">

							<div class="rp-inner__left">
                                <a href="https://stepv.ru/poleznye-kombinaczii-klavish-dlya-brauzera-cent/" rel="bookmark" title="Полезные комбинации клавиш для браузера Cent">
																	</a>
							</div>

							<div class="rp-inner__right">
                                <a href="https://stepv.ru/poleznye-kombinaczii-klavish-dlya-brauzera-cent/" rel="bookmark" title="Полезные комбинации клавиш для браузера Cent">
									<div class="ms-rp--cont">
										<div class="ms-rp--text">
											<h3 class="ms-rp__title">Полезные комбинации клавиш для браузера Cent</h3>
                                            <span class="ms-rp__date">Апр 19, 2025</span>
                                            <span class="ms-rp--ttr">1 min read</span>
											<div><p class="post-excerpt">Узнайте полезные комбинации клавиш для браузера Cent, основанного на Chrome. Повышайте свою продуктивность и управляйте вкладками быстро и э...</p></div>
										</div>
									</div>
								</a>
							</div>

						</div>
						
					</article>
									<article class="ms-rp--block">

						<div class="ms-rp--inner">

							<div class="rp-inner__left">
                                <a href="https://stepv.ru/skrytie-vizualnogo-redaktora-dlya-opredelyonnyh-shablonov-stranicz/" rel="bookmark" title="Скрытие визуального редактора для определённых шаблонов страниц">
																	</a>
							</div>

							<div class="rp-inner__right">
                                <a href="https://stepv.ru/skrytie-vizualnogo-redaktora-dlya-opredelyonnyh-shablonov-stranicz/" rel="bookmark" title="Скрытие визуального редактора для определённых шаблонов страниц">
									<div class="ms-rp--cont">
										<div class="ms-rp--text">
											<h3 class="ms-rp__title">Скрытие визуального редактора для определённых шаблонов страниц</h3>
                                            <span class="ms-rp__date">Апр 19, 2025</span>
                                            <span class="ms-rp--ttr">1 min read</span>
											<div><p class="post-excerpt">Узнайте, как скрыть визуальный редактор в WordPress для определённых шаблонов страниц. Упрощайте интерфейс для редакторов с помощью простого...</p></div>
										</div>
									</div>
								</a>
							</div>

						</div>
						
					</article>
									<article class="ms-rp--block">

						<div class="ms-rp--inner">

							<div class="rp-inner__left">
                                <a href="https://stepv.ru/chislovaya-oczenka-slozhnosti-algoritmov-shpargalka-i-uproshhenie-vyrazhenij/" rel="bookmark" title="Числовая оценка сложности алгоритмов: шпаргалка и упрощение выражений">
																	</a>
							</div>

							<div class="rp-inner__right">
                                <a href="https://stepv.ru/chislovaya-oczenka-slozhnosti-algoritmov-shpargalka-i-uproshhenie-vyrazhenij/" rel="bookmark" title="Числовая оценка сложности алгоритмов: шпаргалка и упрощение выражений">
									<div class="ms-rp--cont">
										<div class="ms-rp--text">
											<h3 class="ms-rp__title">Числовая оценка сложности алгоритмов: шпаргалка и упрощение выражений</h3>
                                            <span class="ms-rp__date">Апр 19, 2025</span>
                                            <span class="ms-rp--ttr">1 min read</span>
											<div><p class="post-excerpt">Узнайте о числовой оценке сложности алгоритмов с помощью Big O Notation. Наше руководство поможет понять эффективность алгоритмов и упрощени...</p></div>
										</div>
									</div>
								</a>
							</div>

						</div>
						
					</article>
							</div>
		</section>
	
			
<div id="comments" class="ms-comments-area">
    <div class="ms-section__comments">
                	<div id="respond" class="comment-respond">
		<h2 id="reply-title">Leave a Reply <a rel="nofollow" id="cancel-comment-reply-link" href="/funkcziya-add_theme_support-v-wordpress-sintaksis-primery-sovety/#respond" style="display:none;">Cancel Reply</a></h2><form action="https://stepv.ru/wp-comments-post.php" method="post" id="commentform" class="row" novalidate><p class="comment-notes"><span id="email-notes">Ваш адрес email не будет опубликован.</span> <span class="required-field-message">Обязательные поля помечены <span class="required">*</span></span></p><div class="form-group form-comment col-12"><textarea id="ms-comment" class="form-control" placeholder="Your Comment" name="comment" rows="8" required="required"></textarea></div><div class="form-group form-comment col-md-6"><input id="ms-author" name="author" type="text" class="form-control" placeholder="Name" value="" required="required"/></div>
<div class="form-group form-comment col-md-6"><input id="ms-email" name="email" class="form-control" placeholder="Email" type="text" value="" required="required"/></div>
<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.</label></p>
<p class="form-submit"><button type="submit" id="submit" class="btn--comments" data-title="Post Comment"><span>Post Comment</span></button> <input type='hidden' name='comment_post_ID' value='5933' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
</p></form>	</div><!-- #respond -->
	    </div>
</div>		
</main>


  <footer class="ms-footer ms-footer--template">
    <section class="footer-container">
                        		<div data-elementor-type="page" data-elementor-id="3019" class="elementor elementor-3019">
				<div class="elementor-element elementor-element-2775d4b e-flex e-con-boxed no wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent" data-id="2775d4b" data-element_type="container">
					<div class="e-con-inner">
		<div data-scroll="" data-scroll-offset="-50%,0" data-scroll-speed="0.2" class="elementor-element elementor-element-1c5903d yes 0.2 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child" data-id="1c5903d" data-element_type="container" data-settings="{"background_background":"classic"}">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-46d8097 e-con-full e-flex no wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child" data-id="46d8097" data-element_type="container">
				<div class="elementor-element elementor-element-0e8d88a elementor-widget elementor-widget-heading" data-id="0e8d88a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Если бы я спросил людей, чего они хотят, они бы попросили более быструю лошадь</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-f4592cf elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="f4592cf" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-83be4f9 elementor-widget elementor-widget-ms-simple-link" data-id="83be4f9" data-element_type="widget" data-widget_type="ms-simple-link.default">
				<div class="elementor-widget-container">
					
        <a class="ms-sl" role="button" data-transition="" data-style="" href="#" target="hidden-iframe">

            
            Генри Форд
            
        </a>

        				</div>
				</div>
				</div>
					</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f479c5d e-con-full e-flex no wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent" data-id="f479c5d" data-element_type="container" data-settings="{"position":"fixed"}">
				<div class="elementor-element elementor-element-c971954 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon" data-id="c971954" data-element_type="widget" data-widget_type="icon.default">
				<div class="elementor-widget-container">
							<div class="elementor-icon-wrapper">
			<a class="elementor-icon" href="https://t.me/stepankoff" target="_blank">
			<svg aria-hidden="true" class="e-font-icon-svg e-fab-telegram-plane" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"></path></svg>			</a>
		</div>
						</div>
				</div>
				</div>
				</div>
		    </section>
  </footer>


            <noscript>
                <div>
                    <img src="https://mc.yandex.ru/watch/98179898" style="position:absolute; left:-9999px;" alt=""/>
                </div>
            </noscript>
            			<script>
				const lazyloadRunObserver = () => {
					const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
					const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
						entries.forEach( ( entry ) => {
							if ( entry.isIntersecting ) {
								let lazyloadBackground = entry.target;
								if( lazyloadBackground ) {
									lazyloadBackground.classList.add( 'e-lazyloaded' );
								}
								lazyloadBackgroundObserver.unobserve( entry.target );
							}
						});
					}, { rootMargin: '200px 0px 200px 0px' } );
					lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
						lazyloadBackgroundObserver.observe( lazyloadBackground );
					} );
				};
				const events = [
					'DOMContentLoaded',
					'elementor/lazyload/observe',
				];
				events.forEach( ( event ) => {
					document.addEventListener( event, lazyloadRunObserver );
				} );
			</script>
			<link rel='stylesheet' id='elementor-frontend-css' href='https://stepv.ru/wp-content/plugins/elementor/assets/css/frontend.css?ver=3.28.3' type='text/css' media='all' />
<link rel='stylesheet' id='elementor-post-3019-css' href='https://stepv.ru/wp-content/uploads/elementor/css/post-3019.css?ver=1745167957' type='text/css' media='all' />
<link rel='stylesheet' id='widget-heading-css' href='https://stepv.ru/wp-content/plugins/elementor/assets/css/widget-heading.min.css?ver=3.28.3' type='text/css' media='all' />
<link rel='stylesheet' id='widget-divider-css' href='https://stepv.ru/wp-content/plugins/elementor/assets/css/widget-divider.min.css?ver=3.28.3' type='text/css' media='all' />
<style id='core-block-supports-inline-css' type='text/css'>
/**
 * Core styles: block-supports
 */

</style>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/wp-yandex-metrika/assets/contactFormSeven.min.js?ver=1.2.1" id="wp-yandex-metrika_contact-form-7-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/wp-yandex-metrika/assets/wpforms.min.js?ver=1.2.1" id="wp-yandex-metrika_wpforms-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/wp-yandex-metrika/assets/mc4wp.min.js?ver=1.2.1" id="wp-yandex-metrika_mc4wp-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-includes/js/dist/hooks.js?ver=5b4ec27a7b82f601224a" id="wp-hooks-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-includes/js/dist/i18n.js?ver=2aff907006e2aa00e26e" id="wp-i18n-js"></script>
<script type="text/javascript" id="wp-i18n-js-after">
/* <![CDATA[ */
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
/* ]]> */
</script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.4" id="swv-js"></script>
<script type="text/javascript" id="contact-form-7-js-before">
/* <![CDATA[ */
var wpcf7 = {
    "api": {
        "root": "https:\/\/stepv.ru\/wp-json\/",
        "namespace": "contact-form-7\/v1"
    }
};
/* ]]> */
</script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.4" id="contact-form-7-js"></script>
<script type="text/javascript" id="stepv-kp-script-js-extra">
/* <![CDATA[ */
var stepv_kp = {"ajax_url":"https:\/\/stepv.ru\/wp-admin\/admin-ajax.php","n8n_webhook_url":"http:\/\/YOUR_N8N_WEBHOOK_URL","nonce":"cd16472b47"};
/* ]]> */
</script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/stepv-kp/assets/js/script.js?ver=1.0.0" id="stepv-kp-script-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/royal-elementor-addons/assets/js/lib/particles/particles.js?ver=3.0.6" id="wpr-particles-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/royal-elementor-addons/assets/js/lib/jarallax/jarallax.min.js?ver=1.12.7" id="wpr-jarallax-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/plugins/royal-elementor-addons/assets/js/lib/parallax/parallax.min.js?ver=1.0" id="wpr-parallax-hover-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-includes/js/comment-reply.js?ver=6.7.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script>
<script type="text/javascript" src="https://stepv.ru/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/modernizr.js?ver=1.0" id="modernizr-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/splitting.min.js?ver=1.0" id="splitting-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/isotope.pkgd.min.js?ver=1.0" id="isotope-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/swiper-bundle.min.js?ver=1.0" id="swiper-bundle-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/effect-material.min.js?ver=1.0" id="swiper-material-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/jarallax.min.js?ver=1.0" id="jarallax-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/jarallax-video.min.js?ver=1.0" id="jarallax-video-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/video-background.js?ver=1.0" id="slider-video-background-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/plyr.js?ver=1.0" id="plyr-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/jquery.justifiedGallery.min.js?ver=1.0" id="justified-gallery-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/fslightbox.js?ver=1.0" id="fslightbox-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/gsap.min.js?ver=1.0" id="gsap-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/scrolltrigger.min.js?ver=1.0" id="scrolltrigger-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/vendor/locomotive-scroll.min.js?ver=1.0" id="locomotive-scroll-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-content/themes/mokko/assets/js/app.min.js?ver=1.0" id="mokko-main-script-js"></script>
<script type="text/javascript" src="https://stepv.ru/wp-includes/js/clipboard.js?ver=2.0.11" id="clipboard-js"></script>
  <script id="module-clipboard"> (function($) { $(function() { var pre = document.getElementsByTagName("pre"); var pasteContent = document.getElementById("paste-content"); var hasLanguage = false; for (var i = 0; i < pre.length; i++) { var codeClass = pre[i].children[0].className; var isLanguage = codeClass.indexOf("language-"); var excludedCodeClassNames = [ "language-katex", "language-seq", "language-sequence", "language-flow", "language-flowchart", "language-mermaid", ]; var isExcluded = excludedCodeClassNames.indexOf(codeClass); if (isExcluded !== -1) { isLanguage = -1; } if (isLanguage !== -1) { var current_pre = pre[i]; var parent = current_pre.parentNode; var div = document.createElement("div"); div.style['position'] = 'relative'; parent.replaceChild(div, current_pre); var button = document.createElement("button"); button.className = "copy-button"; button.textContent = "Copy"; div.appendChild(current_pre); div.appendChild(button); hasLanguage = true; } }; if (hasLanguage) { var copyCode = new ClipboardJS(".copy-button", { target: function(trigger) { return trigger.previousElementSibling; } }); copyCode.on("success", function(event) { event.clearSelection(); event.trigger.textContent = "Copied"; window.setTimeout(function() { event.trigger.textContent = "Copy"; }, 2000); }); } }); })(jQuery); </script> 
</body>
</html>