Чтобы посты подкатегорий не выводились в категориях

Вообщем говоря. Давным давно я этот вопрос задавал на форуме 🙂

И Ю. Б. мне дал на него правильный ответ. Но сейчас я не могу найти этот ответ на форуме 🙁 Руки кривые… 🙂

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

даже не представляю, что на это ответит Ю.Б.

Промолчит. Бо сам не помнит. А искать лень. 😀

UPD Вспомнил ключевую фразу – no_children

Нашел у себя в записках 🙂

<?
function no_children($where) {
    global $wp_query;
    if ($cat = $wp_query->query_vars['cat']) 
        $where = preg_replace('/term_id IN \((.*?)\)/',"term_id IN ('$cat')",$where);
    return $where;
}

add_filter('posts_where', 'no_children');
?>

Не понял куда это надо вставлять ?

В functions.php. Или в плагин.

а не имеет значение в какое место в functions.php вставлять ?

Имеет. Между <?php и ?> и не внутри других функций.

А этот код подходит для всех версий вордпресса?

В 2.5, кажись, работает. А что, так трудно попробовать? 😉

да я пробую на одном своём сайте, а оно не работает 🙁

Хотя на другом работает :))

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

вставил в functions.php, заработало. Но надо вставлять без <? и ?>, иначе ругается =)
А так автору – респект.

Anonymous
Отправить
Ответ на: