Как отключить проверку обновлений для WordPress-тем

Если вы создаете тему WordPress для клиентов, вам может понадобиться отключить для нее проверку обновлений. Марк Джекит, один из разработчиков ядра WordPress, ясно объясняет причину, которая лежит за этим:

«Поскольку WordPress (программное обеспечение) не знает, имеется ли тема или плагин в хранилище WordPress.org, он совершает проверку этих тем и плагинов. Некоторые пользователи выразили беспокойство о том, что частные плагины, разработанные для отдельных клиентов, могут содержать конфиденциальную информацию в своих заголовках, как, к примеру, контакты разработчиков и т.д.»

Отключение проверки обновлений для тем, которые не являются распространяемыми, выступает также хорошей практикой в том случае, если темы с аналогичным названием уже имеются в хранилище.

<?php
 
function afn_prevent_theme_update( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
		return $r;
	$themes = unserialize( $r['body']['themes'] );
	unset( $themes[ get_option( 'template' ) ] );
	unset( $themes[ get_option( 'stylesheet' ) ] );
	$r['body']['themes'] = serialize( $themes );
	return $r;
}
add_filter( 'http_request_args', 'afn_prevent_theme_update', 5, 2 );

Каждая тема в хранилище WordPress.org имеет свое уникальное название. Однако тема, которую вы создавали для клиента, по стечению обстоятельств может иметь то же название, что и уже существующая в хранилище. В таком случае ваш клиент увидит сообщение о необходимости обновления. Естественно, если он щелкнет по кнопке обновления, то его сайт будет сломан, поскольку тема, которую он использует, не является аналогичной той, что хранится в репозитории.

При отключении проверки обновлений темы ваш клиент не будет видеть соответствующие уведомления.

Источник: wpspeak.com

Блог про WordPress
Комментарии: 2
  1. Stas

    Хорошо бы если бы вы написали куда этот код вставлять.

    1. Дмитрий (автор)

      functions.php.

Добавить комментарий

Получать новые комментарии по электронной почте.