All in One Seo Pack — убрать описание для категорий — WordPress

All in One Seo Pack — убрать описание для категорий — WordPress

Сайты на WordPress давно уже получили широкое распространение и всеобщую любовь. В связи с такой большой популярностью реализуются и совершенствуются различные инструменты, упрощающие жизнь обычных пользователей. Одним из таким замечательных инструментов служит плагин для Сео-оптимизации - All In One SEO Pack, который позволяет с легкостью задавать и менять заголовки, описания и ключевые слова для большинства страниц сайта.

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

Как сделать это "малой кровью" или настройками я не нашел, поэтому будем править код плагина. Идем на фтп по пути: /wp-content/plugins/all-in-one-seo-pack. Нам нужен файл aioseop_class.php - открываем его в режиме редактирования. И примерно на 2128 строке находим следующий код:

if ( isset($description) && ( $this->strlen($description) > $this->minimum_description_length ) && !( is_front_page() && is_paged() ) ) {
	$description = $this->trim_description( $description );
	if ( !isset( $meta_string) ) $meta_string = '';
	// description format
	$description = apply_filters( 'aioseop_description_full', $this->apply_description_format( $description, $post ) );
	$desc_attr = '';
	if ( !empty( $aioseop_options['aiosp_schema_markup'] ) )
		$desc_attr = 'itemprop="description"';
	$desc_attr = apply_filters( 'aioseop_description_attributes', $desc_attr );
	$meta_string .= sprintf( "<meta name=\"description\" %s content=\"%s\" />\n", $desc_attr, $description );
}

Этот код как раз и отвечает за вывод описания в рубриках. Поэтому, если мы не хотим показывать сгенерированное описание (которое выводится через meta description), то нужно обернуть код в следующую конструкцию:

if ( !is_category()) {
 
}

Чтобы получилось вот так:

if ( !is_category()) {
	if ( isset($description) && ( $this->strlen($description) > $this->minimum_description_length ) && !( is_front_page() && is_paged() ) ) {
		$description = $this->trim_description( $description );
		if ( !isset( $meta_string) ) $meta_string = '';
		// description format
		$description = apply_filters( 'aioseop_description_full', $this->apply_description_format( $description, $post ) );
		$desc_attr = '';
		if ( !empty( $aioseop_options['aiosp_schema_markup'] ) )
			$desc_attr = 'itemprop="description"';
		$desc_attr = apply_filters( 'aioseop_description_attributes', $desc_attr );
		$meta_string .= sprintf( "<meta name=\"description\" %s content=\"%s\" />\n", $desc_attr, $description );
	}
}

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

Всем высоких позиций и довольных заказчиков!

26.03.17
Для просмотра сайта обновите браузер.