Как исключить категории и теги из виджетов

Автор:
Nurlan Kemelbekov

Иногда нужно исключить определенные теги и категории из виджетов. В этой статье я объясню, как отфильтровывать нежелательные категории, используя WordPress фильтры.

Сначала откройте ваш functions.php файл в папке темы. Это главный файл, где мы можем добавить наши настройки. Теперь добавьте блок кода ниже в файл functions.php:

После добавления кода вы должны изменить ID категории (тега), которые нужно скрыть из ваших виджетов. Не забудьте сохранить и загрузить файл после редактирования.

function maks_filter_terms( $exclusions, $args ){
// Идентификаторы, которые будут исключены
$exclude = "3,257"; // Изменить эти идентификаторы
// Генерация кода исключения SQL
$exterms = wp_parse_id_list( $exclude );
foreach ( $exterms as $exterm ) {
if ( empty($exclusions) )
$exclusions = ' AND ( t.term_id <> ' . intval($exterm) . ' ';
else
$exclusions .= ' AND t.term_id <> ' . intval($exterm) . ' ';
}

if ( !empty($exclusions) )
$exclusions .= ')';

return $exclusions;
}

// Наконец добавить наш фильтр
add_filter( 'list_terms_exclusions', 'maks_filter_terms', 10, 2 );

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

Исключить категории в результатах поиска WordPress

По умолчанию поиск WordPress покажет все релевантные результаты. Если хотите предотвратить определенные записи от появления в результатах поиска WordPress, это можно реализовать с использованием небольшого кода. Код для исключения категории в результатах поиска WordPress.
1. Для начала, назначить определенную категорию, публикации которых хотите исключить (или скрыть) от появления в WordPress результатах поиска.
2. Затем добавить следующий код в functions.php файл.

add_filter( 'pre_get_posts', 'ja_search_filter' );

function ja_search_filter( $query ) {

    if ( $query->is_search && !is_admin() )
        $query->set( 'cat','-7' );

    return $query;

}

В коде выше нужно изменить цифру 7 с ID категории, которую хотите исключить в WordPress результатах поиска.

Скрыть статьи из определенной рубрики на главной странице

В WordPress, мы назначаем различные категории (рубрики) для лучшего управления и более легкого доступа и открытия контента. Бывает так, что нам необходимо скрыть отображения статьи из определенной рубрики на главной странице блога, но показать все другие публикации. Оказывается, это может быть легко достигнуто, используя следующий код в файл functions.php.

//Исключить категорию на домашней странице maks-1.com
add_filter('pre_get_posts', 'exclude_category_from_home');
function exclude_category_from_home($query) {
if ( $query-&gt;is_home ) {
$query-&gt;set('cat', '-15');
}
return $query;
}

Цифра 15 это идентификатор категории, статьи которого не будут отображаться на главной странице. Вы можете заменить его любой ID требуемой категории.
ID категории

Чтобы найти идентификатор конкретной категории, откройте страницу рубрики из левой боковой панели в WordPress панели. Затем наведите курсор мыши на определенную рубрику, чтобы просмотреть полный адрес внизу, где можно увидеть ID в конце.

Как отключить индексацию ПС определенной категории в WordPres

Для достижения этой цели, сначала нужно получить идентификатор категории, которую нужно исключить от индексации ПС. В этом примере ID категории 8.
Откройте файл header.php и вставьте следующий код междуи тегами:

<?php if ( is_category('8') || in_category('8') ) {
echo '<meta name="robots" content="noindex">';
}
?>

Вот и все. С помощью этого кода мы добились того, что ни одна заметка из категории с ID 8, а также страница категории не будут индексироваться поисковыми системами.

Как отобразить виджеты сайтбара в случайном порядке




Вам также может понравиться:


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Copy This Password *

* Type Or Paste Password Here *

тринадцать + 17 =

Я просто хотел сказать, как сильно я ценю Ваш комментарий на мой пост. Спасибо Вам !!