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 ); } }
Теперь заливаем файлик на сайт и ура, описание в рубриках больше не выводится. Теперь можно реализовать нужное поле и вручную задавать его.
Всем высоких позиций и довольных заказчиков!