функция since 2.1.0

login_header()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

login_header( string|null $title = null, string $message = '', WP_Error|null $wp_error = null )

Описание

Выводит заголовок страницы входа.

Параметры

$title string|null необязательный = null
Заголовок страницы входа WordPress для отображения в элементе . Значение по умолчанию — ‘Log In’.</div> </div> <div class="cwar-param"> <div class="cwar-param__head"> <code class="cwar-param__name" lang="en">$message</code> <code class="cwar-param__type" lang="en">string</code> <span class="cwar-param__req cwar-param__req--opt"> необязательный </span> <span class="cwar-param__default" lang="en">= ''</span> </div> <div class="cwar-param__desc">Сообщение для отображения в заголовке.</div> </div> <div class="cwar-param"> <div class="cwar-param__head"> <code class="cwar-param__name" lang="en">$wp_error</code> <code class="cwar-param__type" lang="en">WP_Error|null</code> <span class="cwar-param__req cwar-param__req--opt"> необязательный </span> <span class="cwar-param__default" lang="en">= null</span> </div> <div class="cwar-param__desc">Ошибка, которую нужно передать. По умолчанию — экземпляр WP_Error.</div> </div> </div> </section> <section class="cwar-section" id="source"> <h2 class="cwar-section__title">Исходный код</h2> <p class="cwar-source-file" lang="en"><code>wp-login.php:41</code></p> <div class="cwar-code-wrap"> <button type="button" class="cwar-copy" data-cwar-copy=".cwar-code--src">Копировать</button> <pre class="cwar-code cwar-code--src"><code lang="en"><span class="cwar-tok-kw">function</span> <span class="cwar-tok-ident">login_header</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$title</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-type">null</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$message</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">''</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$wp_error</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-type">null</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-kw">global</span> <span class="cwar-tok-var">$error</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$interim_login</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$action</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-type">null</span> <span class="cwar-tok-punct">===</span> <span class="cwar-tok-var">$title</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$title</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">__</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'Log In'</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">//</span> <span class="cwar-tok-ident">Don</span><span class="cwar-tok-str">'t index any of these forms. add_filter( '</span><span class="cwar-tok-ident">wp_robots</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">wp_robots_sensitive_page</span><span class="cwar-tok-str">' ); add_action( '</span><span class="cwar-tok-ident">login_head</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">wp_strict_cross_origin_referrer</span><span class="cwar-tok-str">' ); add_action( '</span><span class="cwar-tok-ident">login_head</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">wp_login_viewport_meta</span><span class="cwar-tok-str">' ); if ( ! is_wp_error( $wp_error ) ) { $wp_error = new WP_Error(); } // Shake it! $shake_error_codes = array( '</span><span class="cwar-tok-ident">empty_password</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">empty_email</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">invalid_email</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">invalidcombo</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">empty_username</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">invalid_username</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">incorrect_password</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">retrieve_password_email_failure</span><span class="cwar-tok-str">' ); /** * Filters the error codes array for shaking the login form. * * @since 3.0.0 * * @param string[] $shake_error_codes Error codes that shake the login form. */ $shake_error_codes = apply_filters( '</span><span class="cwar-tok-ident">shake_error_codes</span><span class="cwar-tok-str">', $shake_error_codes ); if ( $shake_error_codes && $wp_error->has_errors() && in_array( $wp_error->get_error_code(), $shake_error_codes, true ) ) { add_action( '</span><span class="cwar-tok-ident">login_footer</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">wp_shake_js</span><span class="cwar-tok-str">', 12 ); } $login_title = get_bloginfo( '</span><span class="cwar-tok-ident">name</span><span class="cwar-tok-str">', '</span><span class="cwar-tok-ident">display</span><span class="cwar-tok-str">' ); /* translators: Login screen title. 1: Login screen name, 2: Network or site name. */ $login_title = sprintf( __( '</span><span class="cwar-tok-punct">%</span><span class="cwar-tok-num">1</span><span class="cwar-tok-var">$s</span> <span class="cwar-tok-punct">&</span><span class="cwar-tok-ident">lsaquo</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">%</span><span class="cwar-tok-num">2</span><span class="cwar-tok-var">$s</span> <span class="cwar-tok-punct">&#</span><span class="cwar-tok-num">8212</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-ident">WordPress</span><span class="cwar-tok-str">' ), $title, $login_title ); if ( wp_is_recovery_mode() ) { /* translators: %s: Login screen title. */ $login_title = sprintf( __( '</span><span class="cwar-tok-ident">Recovery</span> <span class="cwar-tok-ident">Mode</span> <span class="cwar-tok-punct">&#</span><span class="cwar-tok-num">8212</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">%</span><span class="cwar-tok-ident">s</span><span class="cwar-tok-str">' ), $login_title ); } /** * Filters the title tag content for login page. * * @since 4.9.0 * * @param string $login_title The page title, with extra context added. * @param string $title The original page title. */ $login_title = apply_filters( '</span><span class="cwar-tok-ident">login_title</span><span class="cwar-tok-str">', $login_title, $title ); ?><!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta http-equiv="Content-Type" content="<?php bloginfo( '</span><span class="cwar-tok-ident">html_type</span><span class="cwar-tok-str">' ); ?>; charset=<?php bloginfo( '</span><span class="cwar-tok-ident">charset</span><span class="cwar-tok-str">' ); ?>" /> <title><?php echo $login_title; ?></title> <?php wp_enqueue_style( '</span><span class="cwar-tok-ident">login</span><span class="cwar-tok-str">' ); /* * Remove all stored post data on logging out. * This could be added by add_action('</span><span class="cwar-tok-ident">login_head</span><span class="cwar-tok-str">'...) like wp_shake_js(), * but maybe better if it'</span><span class="cwar-tok-ident">s</span> <span class="cwar-tok-ident">not</span> <span class="cwar-tok-ident">removable</span> <span class="cwar-tok-ident">by</span> <span class="cwar-tok-ident">plugins</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'loggedout'</span> <span class="cwar-tok-punct">===</span> <span class="cwar-tok-var">$wp_error</span><span class="cwar-tok-punct">-></span><span class="cwar-tok-ident">get_error_code</span><span class="cwar-tok-punct">()</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-ident">ob_start</span><span class="cwar-tok-punct">();</span> <span class="cwar-tok-punct">?></span> <span class="cwar-tok-punct"><</span><span class="cwar-tok-ident">script</span><span class="cwar-tok-punct">></span><span class="cwar-tok-kw">if</span><span class="cwar-tok-punct">("</span><span class="cwar-tok-ident">sessionStorage</span><span class="cwar-tok-str">" in window){try{for(var key in sessionStorage){if(key.indexOf("</span><span class="cwar-tok-ident">wp</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">autosave</span><span class="cwar-tok-punct">-")!=-</span><span class="cwar-tok-num">1</span><span class="cwar-tok-punct">){</span><span class="cwar-tok-ident">sessionStorage</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-ident">removeItem</span><span class="cwar-tok-punct">(</span><span class="cwar-tok-ident">key</span><span class="cwar-tok-punct">)}}}</span><span class="cwar-tok-ident">catch</span><span class="cwar-tok-punct">(</span><span class="cwar-tok-ident">e</span><span class="cwar-tok-punct">){}};</</span><span class="cwar-tok-ident">script</span><span class="cwar-tok-punct">></span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-ident">wp_print_inline_script_tag</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">wp_remove_surrounding_empty_script_tags</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">ob_get_clean</span><span class="cwar-tok-punct">()</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Enqueues</span> <span class="cwar-tok-ident">scripts</span> <span class="cwar-tok-ident">and</span> <span class="cwar-tok-ident">styles</span> <span class="cwar-tok-kw">for</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">page</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">3.1</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-ident">do_action</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_enqueue_scripts'</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Fires</span> <span class="cwar-tok-ident">in</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">page</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">after</span> <span class="cwar-tok-ident">scripts</span> <span class="cwar-tok-ident">are</span> <span class="cwar-tok-ident">enqueued</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">2.1</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-ident">do_action</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_head'</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-var">$login_header_url</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">__</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'https://wordpress.org/'</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">link</span> <span class="cwar-tok-ident">URL</span> <span class="cwar-tok-ident">of</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">logo</span> <span class="cwar-tok-ident">above</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">form</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">2.1</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$login_header_url</span> <span class="cwar-tok-ident">Login</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">logo</span> <span class="cwar-tok-ident">URL</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$login_header_url</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_headerurl'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$login_header_url</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-var">$login_header_title</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">''</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">title</span> <span class="cwar-tok-ident">attribute</span> <span class="cwar-tok-ident">of</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">logo</span> <span class="cwar-tok-ident">above</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">form</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">2.1</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">deprecated</span> <span class="cwar-tok-num">5.2</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-kw">Use</span> <span class="cwar-tok-str">'login_headertext'</span> <span class="cwar-tok-ident">instead</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$login_header_title</span> <span class="cwar-tok-ident">Login</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">logo</span> <span class="cwar-tok-ident">title</span> <span class="cwar-tok-ident">attribute</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$login_header_title</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters_deprecated</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_headertitle'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-kw">array</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$login_header_title</span> <span class="cwar-tok-punct">),</span> <span class="cwar-tok-str">'5.2.0'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'login_headertext'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-ident">__</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'Usage of the title attribute on the login logo is not recommended for accessibility reasons. Use the link text instead.'</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-var">$login_header_text</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-kw">empty</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$login_header_title</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">?</span> <span class="cwar-tok-ident">__</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'Powered by WordPress'</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">:</span> <span class="cwar-tok-var">$login_header_title</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">link</span> <span class="cwar-tok-ident">text</span> <span class="cwar-tok-ident">of</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">logo</span> <span class="cwar-tok-ident">above</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">form</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">5.2</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$login_header_text</span> <span class="cwar-tok-ident">The</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">logo</span> <span class="cwar-tok-ident">link</span> <span class="cwar-tok-ident">text</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$login_header_text</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_headertext'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$login_header_text</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-var">$classes</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-kw">array</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login-action-'</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-var">$action</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'wp-core-ui'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'admin-color-modern'</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">is_rtl</span><span class="cwar-tok-punct">()</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$classes</span><span class="cwar-tok-punct">[]</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">'rtl'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$interim_login</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$classes</span><span class="cwar-tok-punct">[]</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">'interim-login'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">?></span> <span class="cwar-tok-punct"><</span><span class="cwar-tok-ident">style</span><span class="cwar-tok-punct">></span><span class="cwar-tok-ident">html</span><span class="cwar-tok-punct">{</span><span class="cwar-tok-ident">background</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">color</span><span class="cwar-tok-punct">:</span> <span class="cwar-tok-ident">transparent</span><span class="cwar-tok-punct">;}</</span><span class="cwar-tok-ident">style</span><span class="cwar-tok-punct">></span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'success'</span> <span class="cwar-tok-punct">===</span> <span class="cwar-tok-var">$interim_login</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$classes</span><span class="cwar-tok-punct">[]</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">'interim-login-success'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-var">$classes</span><span class="cwar-tok-punct">[]</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">'locale-'</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-ident">sanitize_html_class</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">strtolower</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">str_replace</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'_'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'-'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-ident">get_locale</span><span class="cwar-tok-punct">()</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">page</span> <span class="cwar-tok-ident">body</span> <span class="cwar-tok-ident">classes</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">3.5</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span><span class="cwar-tok-punct">[]</span> <span class="cwar-tok-var">$classes</span> <span class="cwar-tok-ident">An</span> <span class="cwar-tok-kw">array</span> <span class="cwar-tok-ident">of</span> <span class="cwar-tok-ident">body</span> <span class="cwar-tok-ident">classes</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$action</span> <span class="cwar-tok-ident">The</span> <span class="cwar-tok-ident">action</span> <span class="cwar-tok-ident">that</span> <span class="cwar-tok-ident">brought</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">visitor</span> <span class="cwar-tok-ident">to</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">page</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$classes</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_body_class'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$classes</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$action</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">?></span> <span class="cwar-tok-punct"></</span><span class="cwar-tok-ident">head</span><span class="cwar-tok-punct">></span> <span class="cwar-tok-punct"><</span><span class="cwar-tok-ident">body</span> <span class="cwar-tok-kw">class</span><span class="cwar-tok-punct">="</span><span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">no</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">js</span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-kw">echo</span> <span class="cwar-tok-ident">esc_attr</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">implode</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">' '</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$classes</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">?>"></span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-ident">wp_print_inline_script_tag</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">"document.body.className = document.body.className.replace('no-js','js');"</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">?></span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Fires</span> <span class="cwar-tok-ident">in</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">page</span> <span class="cwar-tok-ident">header</span> <span class="cwar-tok-ident">after</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">body</span> <span class="cwar-tok-ident">tag</span> <span class="cwar-tok-ident">is</span> <span class="cwar-tok-ident">opened</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">4.6</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-ident">do_action</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_header'</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">?></span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'confirm_admin_email'</span> <span class="cwar-tok-punct">!==</span> <span class="cwar-tok-var">$action</span> <span class="cwar-tok-punct">&&</span> <span class="cwar-tok-punct">!</span> <span class="cwar-tok-kw">empty</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$title</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">:</span> <span class="cwar-tok-punct">?></span> <span class="cwar-tok-punct"><</span><span class="cwar-tok-ident">h1</span> <span class="cwar-tok-kw">class</span><span class="cwar-tok-punct">="</span><span class="cwar-tok-ident">screen</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">reader</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">text</span><span class="cwar-tok-str">"><?php echo $title; ?></h1> <?php endif; ?> <div id="</span><span class="cwar-tok-ident">login</span><span class="cwar-tok-str">"> <h1 role="</span><span class="cwar-tok-ident">presentation</span><span class="cwar-tok-str">" class="</span><span class="cwar-tok-ident">wp</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">login</span><span class="cwar-tok-punct">-</span><span class="cwar-tok-ident">logo</span><span class="cwar-tok-str">"><a href="</span><span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-kw">echo</span> <span class="cwar-tok-ident">esc_url</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$login_header_url</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">?>"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-kw">echo</span> <span class="cwar-tok-var">$login_header_text</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">?></</span><span class="cwar-tok-ident">a</span><span class="cwar-tok-punct">></</span><span class="cwar-tok-ident">h1</span><span class="cwar-tok-punct">></span> <span class="cwar-tok-punct"><?</span><span class="cwar-tok-ident">php</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">message</span> <span class="cwar-tok-ident">to</span> <span class="cwar-tok-ident">display</span> <span class="cwar-tok-ident">above</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">form</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">2.1</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$message</span> <span class="cwar-tok-ident">Login</span> <span class="cwar-tok-ident">message</span> <span class="cwar-tok-ident">text</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$message</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_message'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$message</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-punct">!</span> <span class="cwar-tok-kw">empty</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$message</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-kw">echo</span> <span class="cwar-tok-var">$message</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-str">"\n"</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">//</span> <span class="cwar-tok-ident">In</span> <span class="cwar-tok-kw">case</span> <span class="cwar-tok-ident">a</span> <span class="cwar-tok-ident">plugin</span> <span class="cwar-tok-ident">uses</span> <span class="cwar-tok-var">$error</span> <span class="cwar-tok-ident">rather</span> <span class="cwar-tok-ident">than</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-var">$wp_errors</span> <span class="cwar-tok-type">object</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-punct">!</span> <span class="cwar-tok-kw">empty</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$error</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$wp_error</span><span class="cwar-tok-punct">-></span><span class="cwar-tok-ident">add</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'error'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$error</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-kw">unset</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$error</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$wp_error</span><span class="cwar-tok-punct">-></span><span class="cwar-tok-ident">has_errors</span><span class="cwar-tok-punct">()</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$error_list</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-kw">array</span><span class="cwar-tok-punct">();</span> <span class="cwar-tok-var">$messages</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">''</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-kw">foreach</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$wp_error</span><span class="cwar-tok-punct">-></span><span class="cwar-tok-ident">get_error_codes</span><span class="cwar-tok-punct">()</span> <span class="cwar-tok-ident">as</span> <span class="cwar-tok-var">$code</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$severity</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-var">$wp_error</span><span class="cwar-tok-punct">-></span><span class="cwar-tok-ident">get_error_data</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$code</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-kw">foreach</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$wp_error</span><span class="cwar-tok-punct">-></span><span class="cwar-tok-ident">get_error_messages</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$code</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-ident">as</span> <span class="cwar-tok-var">$error_message</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'message'</span> <span class="cwar-tok-punct">===</span> <span class="cwar-tok-var">$severity</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$messages</span> <span class="cwar-tok-punct">.=</span> <span class="cwar-tok-str">'<p>'</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-var">$error_message</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-str">'</p>'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-kw">else</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$error_list</span><span class="cwar-tok-punct">[]</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-var">$error_message</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-punct">!</span> <span class="cwar-tok-kw">empty</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$error_list</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-str">''</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-ident">count</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$error_list</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">></span> <span class="cwar-tok-num">1</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">.=</span> <span class="cwar-tok-str">'<ul class="login-error-list">'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-kw">foreach</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$error_list</span> <span class="cwar-tok-ident">as</span> <span class="cwar-tok-var">$item</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">.=</span> <span class="cwar-tok-str">'<li>'</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-var">$item</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-str">'</li>'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">.=</span> <span class="cwar-tok-str">'</ul>'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-kw">else</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">.=</span> <span class="cwar-tok-str">'<p>'</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-var">$error_list</span><span class="cwar-tok-punct">[</span><span class="cwar-tok-num">0</span><span class="cwar-tok-punct">]</span> <span class="cwar-tok-punct">.</span> <span class="cwar-tok-str">'</p>'</span><span class="cwar-tok-punct">;</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">error</span> <span class="cwar-tok-ident">messages</span> <span class="cwar-tok-ident">displayed</span> <span class="cwar-tok-ident">above</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">form</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">2.1</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-ident">Login</span> <span class="cwar-tok-ident">error</span> <span class="cwar-tok-ident">messages</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_errors'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$errors</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-ident">wp_admin_notice</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$errors</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-kw">array</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'type'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-str">'error'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'id'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-str">'login_error'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'paragraph_wrap'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-type">false</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-kw">if</span> <span class="cwar-tok-punct">(</span> <span class="cwar-tok-punct">!</span> <span class="cwar-tok-kw">empty</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$messages</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">{</span> <span class="cwar-tok-punct">/**</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-ident">Filters</span> <span class="cwar-tok-ident">instructional</span> <span class="cwar-tok-ident">messages</span> <span class="cwar-tok-ident">displayed</span> <span class="cwar-tok-ident">above</span> <span class="cwar-tok-ident">the</span> <span class="cwar-tok-ident">login</span> <span class="cwar-tok-ident">form</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">since</span> <span class="cwar-tok-num">2.5</span><span class="cwar-tok-punct">.</span><span class="cwar-tok-num">0</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">*</span> <span class="cwar-tok-punct">@</span><span class="cwar-tok-ident">param</span> <span class="cwar-tok-type">string</span> <span class="cwar-tok-var">$messages</span> <span class="cwar-tok-ident">Login</span> <span class="cwar-tok-ident">messages</span><span class="cwar-tok-punct">.</span> <span class="cwar-tok-punct">*/</span> <span class="cwar-tok-var">$messages</span> <span class="cwar-tok-punct">=</span> <span class="cwar-tok-ident">apply_filters</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'login_messages'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-var">$messages</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-ident">wp_admin_notice</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-var">$messages</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-kw">array</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'type'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-str">'info'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'id'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-str">'login-message'</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-str">'additional_classes'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-kw">array</span><span class="cwar-tok-punct">(</span> <span class="cwar-tok-str">'message'</span> <span class="cwar-tok-punct">),</span> <span class="cwar-tok-str">'paragraph_wrap'</span> <span class="cwar-tok-punct">=></span> <span class="cwar-tok-type">false</span><span class="cwar-tok-punct">,</span> <span class="cwar-tok-punct">)</span> <span class="cwar-tok-punct">);</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">}</span> <span class="cwar-tok-punct">//</span> <span class="cwar-tok-ident">End</span> <span class="cwar-tok-ident">of</span> <span class="cwar-tok-ident">login_header</span><span class="cwar-tok-punct">().</span></code></pre> </div> </section> <section class="cwar-section" id="changelog"> <h2 class="cwar-section__title">История изменений</h2> <table class="cwar-changelog"> <thead><tr><th>Версия</th><th>Описание</th></tr></thead> <tbody> <tr> <td lang="en">2.1.0</td> <td lang="en">Introduced.</td> </tr> </tbody> </table> </section> <section class="cwar-section" id="related"> <h2 class="cwar-section__title">Связанные</h2> <div class="cwar-related"> <div class="cwar-related__col"> <h3 class="cwar-related__title">Использует</h3> <ul class="cwar-chip-list"> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/wp_admin_notice/">wp_admin_notice()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/wp_remove_surrounding_empty_script_tags/">wp_remove_surrounding_empty_script_tags()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/wp_print_inline_script_tag/">wp_print_inline_script_tag()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/wp_is_recovery_mode/">wp_is_recovery_mode()</a></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::has_errors</span></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/apply_filters_deprecated/">apply_filters_deprecated()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/get_locale/">get_locale()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/sanitize_html_class/">sanitize_html_class()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/language_attributes/">language_attributes()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/bloginfo/">bloginfo()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/is_rtl/">is_rtl()</a></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::get_error_code</span></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::add</span></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::get_error_data</span></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::get_error_messages</span></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::get_error_codes</span></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/__/">__()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/esc_attr/">esc_attr()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/esc_url/">esc_url()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/get_bloginfo/">get_bloginfo()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/wp_enqueue_style/">wp_enqueue_style()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/add_filter/">add_filter()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/add_action/">add_action()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/apply_filters/">apply_filters()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/do_action/">do_action()</a></li> <li><a class="cwar-chip" lang="en" href="https://chugunov.pro/api-wordpress/functions/is_wp_error/">is_wp_error()</a></li> <li><span class="cwar-chip cwar-chip--ext" lang="en">WP_Error::__construct</span></li> </ul> </div> </div> </section> <footer class="cwar-entity__foot"> <p class="cwar-source-link"> <a href="https://developer.wordpress.org/reference/functions/login_header/" target="_blank" rel="nofollow noopener external"> Открыть оригинал в официальной документации WordPress </a> </p> </footer> </article> <aside class="nsa-interlink" aria-label="Связанное"> <h2 class="nsa-interlink__title">Связанное</h2> <ul class="nsa-interlink__list"> <li class="nsa-interlink__item"> <span class="nsa-interlink__label">Услуга</span> <a class="nsa-interlink__link" href="https://chugunov.pro/uslugi/dorabotka-sajta-wordpress/">Доработка сайта WordPress</a> </li> <li class="nsa-interlink__item"> <span class="nsa-interlink__label">Глоссарий</span> <a class="nsa-interlink__link" href="https://chugunov.pro/glossary/wordpress/">Глоссарий: WordPress</a> </li> <li class="nsa-interlink__item"> <span class="nsa-interlink__label">Статья</span> <a class="nsa-interlink__link" href="https://chugunov.pro/skolko-stoit-razrabotka-internet-magazina-na-wordpress-woocommerce-v-2026-godu/">Сколько стоит разработка интернет-магазина на WordPress WooCommerce в 2026 году</a> </li> </ul> </aside> <aside class="cwar-attribution"> <p class="cwar-attribution__text"> Независимый русскоязычный справочник, подготовленный на основе официальной документации WordPress Developer Resources. Не является официальным источником. </p> </aside> </div> </div> </main> <footer id="footer" class="site-footer" itemscope itemtype="http://schema.org/WPFooter"> <div class="container"> <div class="site-footer__wrap"> <div class="site-footer__contacts footer-contacts"> <svg class="footer-contacts__icon"> <use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#form-tel"></use> </svg> <ul class="footer-contacts__list"> <li class="footer-contacts__item"><!--noindex--><a href="tel:+79150169988" class="site-footer__link site-footer__link--tel">+7 (915) 016-99-88</a><!--/noindex--></li> </ul> </div> <div class="site-footer__content"> <p class="site-footer__disclaimer">Вся информация, предоставленная на сайте, носит исключительно информационный характер, и ни при каких условиях не является публичной офертой, определяемой положениями Статьи 437(2) Гражданского кодекса РФ.</p> <ul class="site-footer__navigation footer-nav-list"><li class="footer-nav-list__item"><a href="https://chugunov.pro/sitemap/" class="footer-nav-list__link">Карта сайта</a></li><li class="footer-nav-list__item"><a href="/soglashenie/" class="footer-nav-list__link">Пользовательское соглашение</a></li><li class="footer-nav-list__item"><a href="/politika/" class="footer-nav-list__link">Политика обработки персональных данных</a></li></ul> <div class="site-footer__credits"> <p class="site-footer__copy" itemprop="description">2026 © chugunov.pro. </p> — <p class="site-footer__info">ИНН: 502481206802</p> </div> </div> </div> </div> </footer> <div id="progress-btn" class="back-top-btn" data-color="#2196f3"><span id="progress-btn-value" class="back-top-btn__value" aria-label="Вверх"></span></div> <div class="modal" id="base" role="dialog" aria-modal="true"><div class="modal__image lazy-bg" style="background-image: url('https://chugunov.pro/wp-content/uploads/2026/08/alex_form.jpg');"></div> <div class="modal__content"> <div class="contact-radio-form"> <span class="contact-radio-form__title">Заказать готовый сайт</span><p class="contact-radio-form__descr">Оставьте контакт, и я свяжусь с вами в ближайшее время, чтобы обсудить детали вашего проекта.</p><legend class="contact-radio-form__subtitle">Как с вами связаться?</legend> <ul class="contact-radio-form__list"> <li class="contact-radio-form__item contact-radio-form__item--tel"> <input type="radio" id="contact-tel-modal" name="radio-modal" value="modal-tel"> <label for="contact-tel-modal"> <svg class="contact-radio-form__icon contact-radio-form__icon--tel"> <use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#form-tel"></use> </svg><span> Звонок </span></label> </li> <li class="contact-radio-form__item contact-radio-form__item--tg"> <input type="radio" id="contact-tg-modal" name="radio-modal" value="modal-tg"> <label for="contact-tg-modal"> <svg class="contact-radio-form__icon contact-radio-form__icon--tg"> <use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#form-tg"></use> </svg> <span> Telegram </span> </label> </li> <li class="contact-radio-form__item contact-radio-form__item--mail"> <input type="radio" id="contact-mail-modal" name="radio-modal" value="modal-mail"> <label for="contact-mail-modal"> <svg class="contact-radio-form__icon contact-radio-form__icon--mail"> <use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#form-mail"></use> </svg> <span> Письмо </span></label> </li> </ul> <div id="modal-tel" class="contact-radio-form__field contact-radio-form__field--modal"> <div class="wpcf7 no-js" id="wpcf7-f885-o1" lang="ru-RU" dir="ltr" data-wpcf7-id="885"> <div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div> <form action="/api-wordpress/functions/login_header/#wpcf7-f885-o1" method="post" class="wpcf7-form init" aria-label="Контактная форма" novalidate="novalidate" data-status="init"> <fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="885" /><input type="hidden" name="_wpcf7_version" value="6.1.7" /><input type="hidden" name="_wpcf7_locale" value="ru_RU" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f885-o1" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /> </fieldset> <input type="hidden" name="title" value="«Сколько стоит разработка интернет-магазина на WordPress WooCommerce в 2026 году»" /><input type="hidden" name="link" value="https://chugunov.pro/skolko-stoit-razrabotka-internet-magazina-na-wordpress-woocommerce-v-2026-godu/" /><input type="hidden" name="conditional" value="" /><input type="hidden" name="type" value="Страница" /><input type="hidden" name="source" value="Страница   " /><input type="hidden" name="target" value="" /><div class="contact-radio-form__wrap"> <span class="wpcf7-form-control-wrap" data-name="telefon"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel modal__tel" autocomplete="tel" aria-required="true" aria-invalid="false" placeholder="+7" value="" type="tel" name="telefon" /></span> <span class="wpcf7-form-control-wrap" data-name="your-name"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" autocomplete="name" aria-required="true" aria-invalid="false" placeholder="Как Вас зовут" value="" type="text" name="your-name" /></span> </div> <div class="contact-radio-form__submit"> <span class="wpcf7-form-control-wrap" data-name="acceptance-2"><span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="acceptance-2" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">Разрешаю сбор и обработку персональных данных в соответствии с <a href="#">Политикой конфиденциальности</a> и соглашаюсь на получение информационных предложений.</span></label></span></span></span> <input class="wpcf7-form-control wpcf7-submit has-spinner modal__submit" type="submit" value="Жду звонок" /> </div><div class="wpcf7-response-output" aria-hidden="true"></div> </form> </div> </div><div id="modal-tg" class="contact-radio-form__field contact-radio-form__field--modal"> <div class="wpcf7 no-js" id="wpcf7-f3214-o2" lang="ru-RU" dir="ltr" data-wpcf7-id="3214"> <div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div> <form action="/api-wordpress/functions/login_header/#wpcf7-f3214-o2" method="post" class="wpcf7-form init" aria-label="Контактная форма" novalidate="novalidate" data-status="init"> <fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="3214" /><input type="hidden" name="_wpcf7_version" value="6.1.7" /><input type="hidden" name="_wpcf7_locale" value="ru_RU" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f3214-o2" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /> </fieldset> <input type="hidden" name="title" value="«Сколько стоит разработка интернет-магазина на WordPress WooCommerce в 2026 году»" /><input type="hidden" name="link" value="https://chugunov.pro/skolko-stoit-razrabotka-internet-magazina-na-wordpress-woocommerce-v-2026-godu/" /><input type="hidden" name="conditional" value="" /><input type="hidden" name="type" value="Страница" /><input type="hidden" name="source" value="Страница   " /><input type="hidden" name="target" value="" /><div class="contact-radio-form__wrap"> <span class="wpcf7-form-control-wrap" data-name="telegram"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required modal__tg" aria-required="true" aria-invalid="false" placeholder="Ваш логин в Telegram" value="" type="text" name="telegram" /></span> <span class="wpcf7-form-control-wrap" data-name="your-name"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" autocomplete="name" aria-required="true" aria-invalid="false" placeholder="Как Вас зовут" value="" type="text" name="your-name" /></span> </div> <div class="contact-radio-form__submit"> <span class="wpcf7-form-control-wrap" data-name="acceptance-1"><span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="acceptance-1" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">Разрешаю сбор и обработку персональных данных в соответствии с <a href="#">Политикой конфиденциальности</a> и соглашаюсь на получение информационных предложений.</span></label></span></span></span> <input class="wpcf7-form-control wpcf7-submit has-spinner modal__submit" type="submit" value="Жду сообщение" /> </div><div class="wpcf7-response-output" aria-hidden="true"></div> </form> </div> </div><div id="modal-mail" class="contact-radio-form__field contact-radio-form__field--modal"> <div class="wpcf7 no-js" id="wpcf7-f4024-o3" lang="ru-RU" dir="ltr" data-wpcf7-id="4024"> <div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div> <form action="/api-wordpress/functions/login_header/#wpcf7-f4024-o3" method="post" class="wpcf7-form init" aria-label="Контактная форма" novalidate="novalidate" data-status="init"> <fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="4024" /><input type="hidden" name="_wpcf7_version" value="6.1.7" /><input type="hidden" name="_wpcf7_locale" value="ru_RU" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f4024-o3" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /> </fieldset> <input type="hidden" name="title" value="«Сколько стоит разработка интернет-магазина на WordPress WooCommerce в 2026 году»" /><input type="hidden" name="link" value="https://chugunov.pro/skolko-stoit-razrabotka-internet-magazina-na-wordpress-woocommerce-v-2026-godu/" /><input type="hidden" name="conditional" value="" /><input type="hidden" name="type" value="Страница" /><input type="hidden" name="source" value="Страница   " /><input type="hidden" name="target" value="" /><div class="contact-radio-form__wrap"> <span class="wpcf7-form-control-wrap" data-name="email"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email modal__mail" aria-required="true" aria-invalid="false" placeholder="Электронная почта" value="" type="email" name="email" /></span> <span class="wpcf7-form-control-wrap" data-name="your-name"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" autocomplete="name" aria-required="true" aria-invalid="false" placeholder="Как Вас зовут" value="" type="text" name="your-name" /></span> </div> <div class="contact-radio-form__submit"> <span class="wpcf7-form-control-wrap" data-name="acceptance-4"><span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="acceptance-4" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">Разрешаю сбор и обработку персональных данных в соответствии с <a href="#">Политикой конфиденциальности</a> и соглашаюсь на получение информационных предложений.</span></label></span></span></span> <input class="wpcf7-form-control wpcf7-submit has-spinner modal__submit" type="submit" value="Жду письмо" /> </div><div class="wpcf7-response-output" aria-hidden="true"></div> </form> </div> </div> </div> </div> <button class="modal__close" title="Закрыть" aria-label="Закрыть"></button></div> <div class="modal" id="messengers" role="dialog" aria-modal="true"><div class="modal__image lazy-bg" style="background-image: url('https://chugunov.pro/wp-content/uploads/2025/07/brian-j-tromp-t5us4q9jmzk-unsplash.webp');"></div> <div class="modal__content"> <div class="messengers-modal"> <span class="messengers-modal__title">Напишите мне</span> <p class="messengers-modal__descr">Выберите предпочтительный чат, чтобы получить консультацию.</p><span class="messengers-modal__note">Либо отсканируйте QR-код смартфоном, чтобы начать чат.</span> <ul class="messengers-modal__btns"> <li class="messengers-modal__item"><!--noindex--><a href="https://telegram.me/chugunovpro" class="btn btn--chat btn--telegram" rel="nofollow" target="_blank"><svg><use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#tg-light"></use></svg>Telegram</a><!--/noindex--><img loading="lazy" src="https://chugunov.pro/wp-content/uploads/2026/06/tg-3.png" class="modal-btns__qr" width="200" height="200" decoding="async" alt="QR Telegram"></li> <li class="messengers-modal__item"><!--noindex--><a href="https://max.ru/u/f9LHodD0cOITdKtrXPA0Pd2gPzUWxGENvOrXylGT47JydmIwvbABFZ1E3dI" class="btn btn--chat btn--max" rel="nofollow" target="_blank"><svg><use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#max"></use></svg>Max</a><!--/noindex--><img loading="lazy" src="https://chugunov.pro/wp-content/uploads/2026/06/max-1.png" class="modal-btns__qr" width="200" height="200" decoding="async" alt="QR Max"></li> </ul> </div> </div> <button class="modal__close" title="Закрыть" aria-label="Закрыть"></button></div> <div class="search-panel"> <div class="search-panel__image lazy-bg" style="background-image: url('https://chugunov.pro/wp-content/uploads/2025/08/campaign-creators-ogowdvlbmsc-unsplash.webp');"></div> <div class="search-panel__wrap"> <form role="search" method="get" class="search-form" action="https://chugunov.pro/"> <label> <span class="screen-reader-text">Найти:</span> <input type="search" class="search-field" placeholder="Поиск…" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Поиск" /> </form><p class="search-panel__text">Что будем искать? Например,<span class="search-panel__hint">Продвижение</span></p> </div> <button class="search-panel__close" aria-label="Закрыть поиск" title="Закрыть поиск"></button> </div> <div class="search-overlay"></div> <script> /* <![CDATA[ */ const searchHint = document.querySelector('.search-panel__hint'); const searchField = document.querySelector('.search-panel .search-field'); searchHint.addEventListener('click', () => { searchField.setAttribute('value', 'Продвижение'); }); /* ]]> */ </script> <div id="cookiesbox" class="cookies-modal"> <div class="container cookies-modal__wrap"> <div class="cookies-modal__text"> <p>Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с <a href="/politika/">политикой в отношении персональных данных</a>.</p> </div><!-- cookies-modal__text --> <button id="cookiesok" class="btn container__btn cookies-modal__btn">Соглашаюсь <svg class="btn__icon"><use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#arrow-right"></use></svg></button> </div> </div> <script defer id="theme-cookies-js" src="https://chugunov.pro/wp-content/themes/service-lux/assets/js/cookies.js"></script><div class="modal-overlay"></div> <div class="nav-panel"><span class="nav-panel__title">Меню</span><ul id="menu-glavnoe-1" class="nav-panel__list"><li class="new menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-14287"><a href="/bitrix/" class="menu-item__link" itemprop="url"><span itemprop="name">Готовые сайты Битрикс</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14288"><a href="https://chugunov.pro/bitrix-tematika/b2b/" class="menu-item__link" itemprop="url"><span itemprop="name">B2B</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14289"><a href="https://chugunov.pro/bitrix-tematika/landing-page/" class="menu-item__link" itemprop="url"><span itemprop="name">Landing page</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14290"><a href="https://chugunov.pro/bitrix-tematika/avto/" class="menu-item__link" itemprop="url"><span itemprop="name">Авто</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14294"><a href="https://chugunov.pro/bitrix-tematika/detskie-tovary/" class="menu-item__link" itemprop="url"><span itemprop="name">Детские товары</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14295"><a href="https://chugunov.pro/bitrix-tematika/drugoe/" class="menu-item__link" itemprop="url"><span itemprop="name">Другое</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14296"><a href="https://chugunov.pro/bitrix-tematika/informacionniy-portal/" class="menu-item__link" itemprop="url"><span itemprop="name">Информационный портал</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14297"><a href="https://chugunov.pro/bitrix-tematika/katalog/" class="menu-item__link" itemprop="url"><span itemprop="name">Каталог товаров, услуг</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14298"><a href="https://chugunov.pro/bitrix-tematika/korporativniy-sayt/" class="menu-item__link" itemprop="url"><span itemprop="name">Корпоративный сайт</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14299"><a href="https://chugunov.pro/bitrix-tematika/krasota-i-zdorovye/" class="menu-item__link" itemprop="url"><span itemprop="name">Красота и здоровье</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14300"><a href="https://chugunov.pro/bitrix-tematika/mebel/" class="menu-item__link" itemprop="url"><span itemprop="name">Мебель</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14301"><a href="https://chugunov.pro/bitrix-tematika/odezhda-obuv/" class="menu-item__link" itemprop="url"><span itemprop="name">Одежда, обувь, аксессуары</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14302"><a href="https://chugunov.pro/bitrix-tematika/personalniy-sayt/" class="menu-item__link" itemprop="url"><span itemprop="name">Персональный сайт</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14303"><a href="https://chugunov.pro/bitrix-tematika/podarki-suveniry/" class="menu-item__link" itemprop="url"><span itemprop="name">Подарки и сувениры</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14304"><a href="https://chugunov.pro/bitrix-tematika/producty/" class="menu-item__link" itemprop="url"><span itemprop="name">Продукты питания</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14305"><a href="https://chugunov.pro/bitrix-tematika/sport-turizm/" class="menu-item__link" itemprop="url"><span itemprop="name">Спорт, туризм, отдых</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14306"><a href="https://chugunov.pro/bitrix-tematika/stroitelstvo-remont/" class="menu-item__link" itemprop="url"><span itemprop="name">Строительство и ремонт</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14307"><a href="https://chugunov.pro/bitrix-tematika/tovary-dlya-zhivotnih/" class="menu-item__link" itemprop="url"><span itemprop="name">Товары для животных</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14308"><a href="https://chugunov.pro/bitrix-tematika/%d1%83%d0%bd%d0%b8%d0%b2%d0%b5%d1%80%d1%81%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5/" class="menu-item__link" itemprop="url"><span itemprop="name">Универсальные</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-bitrix_cat menu-item-14291"><a href="https://chugunov.pro/bitrix-tematika/bytovaya-tehnika/" class="menu-item__link" itemprop="url"><span itemprop="name">Бытовая техника, электроника и оборудование</span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-4629"><a href="/gotoviy-sayt/" class="menu-item__link" itemprop="url"><span itemprop="name">WordPress и Tilda</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5380"><a href="https://chugunov.pro/kategorii/sayt-vizitka/" class="menu-item__link" itemprop="url"><span itemprop="name">Сайт визитка</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5391"><a href="https://chugunov.pro/kategorii/internet-magazin/" class="menu-item__link" itemprop="url"><span itemprop="name">Интернет-магазин</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5459"><a href="https://chugunov.pro/kategorii/lending/" class="menu-item__link" itemprop="url"><span itemprop="name">Лендинг</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5460"><a href="https://chugunov.pro/kategorii/avto/" class="menu-item__link" itemprop="url"><span itemprop="name">Авто</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5381"><a href="https://chugunov.pro/kategorii/agentstva/" class="menu-item__link" itemprop="url"><span itemprop="name">Агентства</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5383"><a href="https://chugunov.pro/kategorii/biznes/" class="menu-item__link" itemprop="url"><span itemprop="name">Бизнес</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5385"><a href="https://chugunov.pro/kategorii/veb-studii/" class="menu-item__link" itemprop="url"><span itemprop="name">Веб студии</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5387"><a href="https://chugunov.pro/kategorii/gruzoperevozki/" class="menu-item__link" itemprop="url"><span itemprop="name">Грузоперевозки</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5389"><a href="https://chugunov.pro/kategorii/eda-restorany/" class="menu-item__link" itemprop="url"><span itemprop="name">Еда, рестораны</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5415"><a href="https://chugunov.pro/kategorii/krasota/" class="menu-item__link" itemprop="url"><span itemprop="name">Красота</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5397"><a href="https://chugunov.pro/kategorii/mebel-kuhni/" class="menu-item__link" itemprop="url"><span itemprop="name">Мебель, кухни</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5398"><a href="https://chugunov.pro/kategorii/medicina/" class="menu-item__link" itemprop="url"><span itemprop="name">Медицина</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5399"><a href="https://chugunov.pro/kategorii/meropriyatiya/" class="menu-item__link" itemprop="url"><span itemprop="name">Мероприятия</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5400"><a href="https://chugunov.pro/kategorii/natyazhnye-potolki/" class="menu-item__link" itemprop="url"><span itemprop="name">Натяжные потолки</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5382"><a href="https://chugunov.pro/kategorii/nedvizhimost/" class="menu-item__link" itemprop="url"><span itemprop="name">Недвижимость</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5402"><a href="https://chugunov.pro/kategorii/obrazovanie/" class="menu-item__link" itemprop="url"><span itemprop="name">Образование</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5403"><a href="https://chugunov.pro/kategorii/okna/" class="menu-item__link" itemprop="url"><span itemprop="name">Окна</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5405"><a href="https://chugunov.pro/kategorii/opt/" class="menu-item__link" itemprop="url"><span itemprop="name">Оптовая торговля</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5407"><a href="https://chugunov.pro/kategorii/proizvodstvo/" class="menu-item__link" itemprop="url"><span itemprop="name">Производство</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5396"><a href="https://chugunov.pro/kategorii/psyholog/" class="menu-item__link" itemprop="url"><span itemprop="name">Психолог, коуч</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5409"><a href="https://chugunov.pro/kategorii/remont/" class="menu-item__link" itemprop="url"><span itemprop="name">Ремонт</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5412"><a href="https://chugunov.pro/kategorii/stroitelstvo/" class="menu-item__link" itemprop="url"><span itemprop="name">Строительство</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5413"><a href="https://chugunov.pro/kategorii/tovary/" class="menu-item__link" itemprop="url"><span itemprop="name">Товары</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5408"><a href="https://chugunov.pro/kategorii/turizm/" class="menu-item__link" itemprop="url"><span itemprop="name">Туризм</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5446"><a href="https://chugunov.pro/kategorii/uslugi/" class="menu-item__link" itemprop="url"><span itemprop="name">Услуги</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5417"><a href="https://chugunov.pro/kategorii/finansy/" class="menu-item__link" itemprop="url"><span itemprop="name">Финансы</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5393"><a href="https://chugunov.pro/kategorii/fitnes/" class="menu-item__link" itemprop="url"><span itemprop="name">Фитнес</span></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-cases menu-item-5420"><a href="https://chugunov.pro/kategorii/yurist/" class="menu-item__link" itemprop="url"><span itemprop="name">Юр.услуги</span></a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-18168"><a href="https://chugunov.pro/about/" class="menu-item__link" itemprop="url"><span itemprop="name">Обо мне</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23221"><a href="/faq/" class="menu-item__link" itemprop="url"><span itemprop="name">Вопросы и ответы</span></a></li> <li class="menu-item menu-item-type-post_type_archive menu-item-object-portfolio menu-item-18194"><a href="https://chugunov.pro/portfolio/" class="menu-item__link" itemprop="url"><span itemprop="name">Портфолио</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24366"><a href="/standart-razrabotki/" class="menu-item__link" itemprop="url"><span itemprop="name">Стандарт разработки</span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18198"><a href="/tools/" class="menu-item__link" itemprop="url"><span itemprop="name">Инструменты</span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-4650"><a href="https://chugunov.pro/blog/" class="menu-item__link" itemprop="url"><span itemprop="name">Блог</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-24599"><a href="#" class="menu-item__link" itemprop="url"><span itemprop="name">Полезное</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24600"><a href="/api-bitrix/" class="menu-item__link" itemprop="url"><span itemprop="name">Справочник API Битрикс</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24618"><a href="/api-bitrix24/" class="menu-item__link" itemprop="url"><span itemprop="name">Справочник REST API Битрикс24</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24602"><a href="/api-wordpress/" class="menu-item__link" itemprop="url"><span itemprop="name">Справочник API WordPress</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24365"><a href="/glossary/" class="menu-item__link" itemprop="url"><span itemprop="name">Глоссарий</span></a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4649"><a href="https://chugunov.pro/kontakty/" class="menu-item__link" itemprop="url"><span itemprop="name">Контакты</span></a></li> </ul><div class="nav-panel__socials"><span class="nav-panel__title">Мы в соцсетях</span><!--noindex--><ul class="social-btns__list"><li class="social-btns__item icon-telegram" title="Telegram"><svg class="social-btns__icon"><use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#tg-light"></use></svg><a href="https://telegram.me/chugunovpro" class="social-btns__link" target="_blank" rel="nofollow" aria-label="Telegram"></a></li><li class="social-btns__item icon-whatsapp" title="WhatsApp"><svg class="social-btns__icon"><use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#max"></use></svg><a href="https://max.ru/u/f9LHodD0cOITdKtrXPA0Pd2gPzUWxGENvOrXylGT47JydmIwvbABFZ1E3dI" class="social-btns__link" target="_blank" rel="nofollow" aria-label="WhatsApp"></a></li></ul><!--/noindex--></div><button class="nav-panel__close" aria-label="Закрыть"><svg><use xlink:href="https://chugunov.pro/wp-content/themes/service-lux/assets/img/sprite.svg#close"></use></svg></button></div><div class="nav-panel-overlay"></div> </div><!-- end site-wrapper --> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/service-lux-child-theme/*","/wp-content/themes/service-lux/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script id="lbwps-photoswipe5-js-module" src="https://chugunov.pro/wp-content/plugins/lightbox-photoswipe/assets/ps5/frontend.min.js?ver=5.13.0" type="module"></script> <script id="cwar-js-extra"> var CWAR = {"restUrl":"https://chugunov.pro/wp-json/chugunov-wp-api/v1/search","searchPage":"https://chugunov.pro/api-wordpress/search/","minChars":"2","i18n":{"placeholder":"\u041f\u043e\u0438\u0441\u043a: \u0444\u0443\u043d\u043a\u0446\u0438\u044f, action, filter\u2026","nothing":"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e","loading":"\u041f\u043e\u0438\u0441\u043a\u2026"}}; //# sourceURL=cwar-js-extra </script> <script id="cwar-js" src="https://chugunov.pro/wp-content/plugins/chugunov-wordpress-api-reference/assets/js/cwar.js?ver=0.3.0"></script> <script id="wp-hooks-js" src="https://chugunov.pro/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script> <script id="wp-i18n-js" src="https://chugunov.pro/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); //# sourceURL=wp-i18n-js-after </script> <script data-cf7-lazy="1" type="text/plain" id="swv-js" data-cf7-src="https://chugunov.pro/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.7"></script> <script id="contact-form-7-js-translations"> ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "contact-form-7", {"translation-revision-date":"2026-07-09 09:06:29+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);","lang":"ru"},"This contact form is placed in the wrong place.":["\u042d\u0442\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435."],"Error:":["\u041e\u0448\u0438\u0431\u043a\u0430:"]}},"comment":{"reference":"includes\/js\/index.js"}} ); //# sourceURL=contact-form-7-js-translations </script> <script id="contact-form-7-js-before"> var wpcf7 = { "api": { "root": "https:\/\/chugunov.pro\/wp-json\/", "namespace": "contact-form-7\/v1" }, "cached": 1 }; //# sourceURL=contact-form-7-js-before </script> <script data-cf7-lazy="1" type="text/plain" id="contact-form-7-js" data-cf7-src="https://chugunov.pro/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.7"></script> <script data-cf7-lazy="1" type="text/plain" id="jquery-core-js" data-cf7-src="https://chugunov.pro/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script> <script data-cf7-lazy="1" type="text/plain" id="wpascript-js" data-cf7-src="https://chugunov.pro/wp-content/plugins/honeypot/includes/js/wpa.js?ver=2.4.02"></script> <script id="wpascript-js-after"> wpa_field_info = JSON.parse(atob("eyJ3cGFfZmllbGRfbmFtZSI6ImV4a3JkbTMyMzciLCJ3cGFfZmllbGRfdmFsdWUiOjQ3ODQ2MSwid3BhX2FkZF90ZXN0Ijoibm8ifQ==")); //# sourceURL=wpascript-js-after </script> <script data-wp-strategy="defer" defer id="nsa-modal-forms-js" src="https://chugunov.pro/wp-content/themes/service-lux-child-theme/assets/js/modal-forms.js?ver=1789125245"></script> <script async data-wp-strategy="async" id="theme-custom-js" src="https://chugunov.pro/wp-content/themes/service-lux/assets/js/custom.js?ver=1.4.0"></script> <script data-wp-strategy="defer" defer id="nsa-header-nav-js" src="https://chugunov.pro/wp-content/themes/service-lux-child-theme/assets/js/header-nav.js?ver=1789125245"></script> <script> (function() { var path = window.location.pathname || ''; if (path.indexOf('/gotoviy-sayt/') !== -1 || path.indexOf('/uslugi/') !== -1) { return; } var targetFormIds = ['3214', '3215', '4024', '885']; document.addEventListener('wpcf7mailsent', function(event) { if (event.detail && targetFormIds.indexOf(String(event.detail.contactFormId)) !== -1) { if (typeof ym === 'function') { // Счётчик сайта. Раньше здесь стоял 107053707 — он на страницах // не инициализируется, и вызов ym() для него молча ничего не делал: // цель form-other не доходила. ym(110035586, 'reachGoal', 'form-other'); } } }, false); })(); </script> <script id="theme-btn-disabled"> /* <![CDATA[ */ document.addEventListener('DOMContentLoaded', function() { var chekBox = document.querySelector('.form-checkbox__input'); var subBtn = document.querySelector('.comment-form .submit'); var body = document.querySelector('body'); if (subBtn) { subBtn.setAttribute('disabled', 'true'); // Отключаем блокировку кнопки для залогиненного юзера if (body && body.classList.contains("logged-in")) { subBtn.disabled = false; } if (chekBox) { chekBox.addEventListener("click", function() { if (chekBox.checked) { subBtn.disabled = false; } else { subBtn.disabled = true; } }); } } }); /* ]]> */ </script> <script id="child-perf-cf7-lazy"> /* Отложенный подъём Contact Form 7 — см. inc/perf/cf7-lazy.php */ (function () { 'use strict'; var pending = document.querySelectorAll('script[data-cf7-lazy][data-cf7-src]'); if (!pending.length) { return; } var started = false; /* * Contact Form 7 вешает всю свою загрузку на DOMContentLoaded и внутри же * присваивает wpcf7.init. При поздней загрузке событие давно прошло, обработчик * не срабатывает, функции init не существует — формы остаются неинициализированными * (обёртка так и висит с классом no-js, кнопка отправки недоступна). * * Поэтому на время подъёма подменяем document.addEventListener и забираем себе * обработчики DOMContentLoaded, которые регистрируют скрипты плагина. Потом * вызываем их вручную. Перехват точечный: он живёт только пока грузятся файлы * CF7, поэтому чужие обработчики (тема, меню шапки) не перерегистрируются и * не выполняются повторно — просто разослать событие по документу было бы * опасно, оно подняло бы всех подряд по второму разу. */ var captured = []; var nativeAdd = document.addEventListener; function interceptOn() { document.addEventListener = function (type, listener, options) { if (type === 'DOMContentLoaded' && typeof listener === 'function') { captured.push(listener); return; } return nativeAdd.call(this, type, listener, options); }; } function interceptOff() { document.addEventListener = nativeAdd; } /** * Последовательно подключает отложенные файлы: порядок важен, swv до основного. */ function loadScripts(list, index, done) { if (index >= list.length) { done(); return; } var placeholder = list[index]; var script = document.createElement('script'); script.src = placeholder.getAttribute('data-cf7-src'); script.async = false; script.onload = script.onerror = function () { loadScripts(list, index + 1, done); }; placeholder.parentNode.insertBefore(script, placeholder.nextSibling); } /** * Запускает перехваченные обработчики — плагин делает всё остальное сам: * присваивает wpcf7.init, инициализирует формы, снимает класс no-js и * догружает схемы валидации. */ function bootstrap() { interceptOff(); var event = new Event('DOMContentLoaded'); captured.forEach(function (listener) { try { listener.call(document, event); } catch (e) { /* один сломавшийся обработчик не должен ронять остальные */ } }); captured = []; // Запасной путь: если плагин когда-нибудь перестанет вешаться на DOMContentLoaded. if (typeof window.wpcf7 !== 'undefined' && typeof wpcf7.init === 'function') { document.querySelectorAll('.wpcf7 > form').forEach(function (form) { var wrap = form.closest('.wpcf7'); if (!wrap || !wrap.classList.contains('no-js')) { return; } wpcf7.init(form); wrap.classList.replace('no-js', 'js'); }); } raiseHoneypot(); } /** * Поля-ловушки Honeypot. * * Без них отправка считается спамом на сервере (wpa_check_is_spam: нет полей — * значит бот). Свой обработчик wpa.js вешает на первое действие посетителя, а * оно к моменту позднего подъёма уже произошло — осталась только страховка на * две секунды. Поэтому зовём вставку сами. * * Дёргаем не саму вставку, а точку входа плагина — синтетическое jQuery-событие * mousedown на документе. Так плагин выставит свой внутренний флаг и снимет * обработчики, и поля не задвоятся, когда посетитель шевельнёт мышью. Чужих * обработчиков это не заденет: jQuery.trigger зовёт только jQuery-обработчики, * а jQuery мы откладываем лишь когда, кроме ловушки, им никто не пользуется. * * Через jQuery(fn): обработчики плагина навешиваются в его ready, а при поздней * загрузке jQuery уводит ready в setTimeout — сразу после выполнения файла * вешать ещё нечего. */ function raiseHoneypot() { if (typeof window.jQuery !== 'function' || typeof window.wpa_add_honeypot_field !== 'function') { return; } window.jQuery(function () { if (document.querySelector('.wpa_hidden_field')) { return; } try { window.jQuery(document).trigger('mousedown'); } catch (e) { /* не наша забота, если плагин сломается — сработает его же таймер на 2 с */ } }); } function start() { if (started) { return; } started = true; events.forEach(function (name) { window.removeEventListener(name, start, true); }); interceptOn(); loadScripts(Array.prototype.slice.call(pending), 0, bootstrap); } var events = ['pointerdown', 'touchstart', 'keydown', 'focusin']; events.forEach(function (name) { window.addEventListener(name, start, { capture: true, passive: true }); }); // Страховка: если форму отправляют раньше, чем плагин поднялся, — не теряем отправку. document.addEventListener('submit', function (event) { if (!started && event.target && event.target.closest && event.target.closest('.wpcf7')) { event.preventDefault(); start(); } }, true); })(); </script> </body> </html><!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com Получено 6930 объектов (2 МБ) от Redis через PhpRedis (v6.2.0). --> <!-- Dynamic page generated in 0.344 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2026-09-18 00:03:08 --> <!-- super cache -->