Для скорочення часу завантаження блогу WordPress, Google рекомендує перемістити код Javacsript і CSS з верхньої частини сторінки HTML вниз.

Але це не завжди просто. Одна з причин в тому, що деякі, додатково встановлені плагіни WordPress, автоматично додають свої скрипти в заголовок, і вплинути на цей процес не завжди можна.

Пропонуємо просте рішення.
Бажано цей приклад застосувати не на «живому» сайті. І ще треба розуміти про які функції прикладі йдеться, і де вони розташовані.

Перший крок.

Додаємо наступний код у файл functions.php вашої активної теми:

/**
* Filter HTML code and leave allowed/disallowed tags only
*
* @param string $text Input HTML code.
* @param string $tags Filtered tags.
* @param bool $invert Define whether should leave or remove tags.
* @return string Filtered tags
*/
function theme_strip_tags_content ($text, $tags = «, $invert = false) {
preg_match_all ( ‘//si’, trim ( $tags ), $tags );
$tags = array_unique ( $tags[1] );
if ( is_array ( $tags ) AND count ( $tags ) > 0 ) {
if ( false == $invert ) {
return preg_replace ( ‘@.*[email protected]’, «, $text );
}
else {
return preg_replace ( ‘@.*[email protected]’, «, $text );
}
}
elseif ( false == $invert ) {
return preg_replace ( ‘@.*[email protected]’, «, $text );
}
return $text;
}
/**
* Generate script tags from given source code
*
* @param string $HTML source code.
* @return string Filtered HTML code with script tags only
*/
function theme_insert_js ($source) {
$out = «;
$fragment = new DOMDocument ();
$fragment->loadHTML ( $source );
$xp = new DOMXPath ( $fragment );
$result = $xp->query ( ‘~~~COMM2~~~
$scripts = array ();
$scripts_src = array ();
foreach ( $result as $key => $el ) {
$src = $result->item ( $key ) ->attributes->getNamedItem ( ‘src’ ) ->value;
if ( ! empty ( $src ) ) {
$scripts_src[] = $src;
} else {
$type = $result->item ( $key ) ->attributes->getNamedItem ( ‘type’ ) ->value;
if ( empty ( $type ) ) {
$type = ‘text/javascript’;
}
$scripts[$type][] = $el->nodeValue;
}
}
~~~COMM3~~~foreach ( $scripts as $key => $value ) {
$out .= «;
foreach ( $value as $keyC => $valueC ) {
$out .= «\n».$valueC;
}
$out .= «;
}
~~~COMM4~~~foreach ( $scripts_src as $value ) {
$out .= «;
}
return $out;
}
Додати код в файл functions.php

Другий крок.

Редагуємо файл header.php. Знайдемо функцію wp_head() і замінимо її кодом:


Редагуємо файл header.php

І в завершенні, у файлі footer.php перед закривається тегом BODY додайте

І в завершенні, у файлі footer.php перед закривається тегом BODY додайте