OHyena
../ ./.. /.// /... .. ... /../
Blog Post

Как правильно удалить версию WordPress

02.07.2017 Unsorted

Удалять версию рекомендуется через фильтр wp_head. Для этого нужно добавить такой код в functions.php вашей темы:

remove_action('wp_head', 'wp_generator');

Проблема такого удаления в том, что информация о версии удаляется только с веб-страниц сайта. Если мы посмотрим исходный код фида по ссылке http://ваш_сайт/feed мы увидим там похожий метатаег:

http://wordpress.org/?v=3.3.1

Чтобы полностью удалить версию WP с веб-страницы и со страниц фидов, добавьте следующий код в файл темы functions.php:

// Полностью убираем версию WordPress
add_filter('the_generator', '__return_empty_string');

Заметка: также не забудьте удалить файл readme.html в корневом каталоге WordPress. Этот сайт легко можно открыть в браузере и в самом его начале указывается версия движка.
Удаление версий в ссылках стилей и скриптов

Кроме того, что WordPress добавляет метаттег generator, он также добавляет версию в конец ссылки на добавляемый css стиль или js скрипт, с том случае если версия скрипта или стиля не указана. В этом примере в конце можно увидеть версию WP.

Чтобы удалить версию из всех ссылок, на стили и скрипты, добавьте такой код в файл functions.php:

// Удаление параметра ver из добавляемых скриптов и стилей
function rem_wp_ver_css_js( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'rem_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'rem_wp_ver_css_js', 9999 );

Что можно удалить еще с wp_head

Хук-событие wp_head срабатывает внутри HTML блока. Сюда кроме метатега “generator” WordPress по умолчанию добавляем еще много чего. Чтобы узнать какая функцию отвечает за какую строку, вам нужно открыть файл wp-includes/default-filters.php и посмотреть все функции прикрепленные к событию wp_head.

В этом примере я в комментариях объясню какая функция за что отвечает:

// События
 // Позволяет плагинам добавлять скрипты во фронт-энд
 add_action( 'wp_head', 'wp_enqueue_scripts', 1 );
 // Выводит ссылка на основные фиды
 add_action( 'wp_head', 'feed_links', 2 );
 // Выводит ссылки на дополнительные фиды (фид категоирй)
 add_action( 'wp_head', 'feed_links_extra', 3 );
 // Выводит ссылку на сервис RSD (Really Simple Discovery)
 add_action( 'wp_head', 'rsd_link' );
 // Выводит ссылку на файл манифест программы Windows Live Writer
 add_action( 'wp_head', 'wlwmanifest_link' );
 // Ссылки на соседние статьи ( add_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
 // Выводит ссылку на файл стилей (готовый метатег link)
 add_action( 'wp_head', 'locale_stylesheet' );
 // Выводит noindx метатег, основываясь на настройках блога.
 // Если с настройках чтения установлена галочка "попросить поисковые системы не индексировать сайт", то будет выведет метатег noindex
 add_action( 'wp_head', 'noindex', 1 );
 // Позволяет плагинам подключать css стили
 add_action( 'wp_head', 'wp_print_styles', 8 );
 // Скрипты которые нужно выводить в html head части во фрон-энде
 add_action( 'wp_head', 'wp_print_head_scripts', 9 );
 // Выводит версию движка
 add_action( 'wp_head', 'wp_generator' );
 // Метатег rel=canonical для страниц записей
 add_action( 'wp_head', 'rel_canonical' );
 // Выводит короткую ссылку на запись
 add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

Чтобы удалить функцию вам нужно использовать функцию remove_filter() в которой указать фильтр и название функции которую нужно удалить. Например, удалить функцию feed_links:

remove_filter('wp_head', 'feed_links');

Источник