Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/84: Рейтинг темы: голосов - 84, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12

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

06.11.2013, 01:54. Показов 16849. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Созданные записи автоматически отображаются на главной странице, независимо от того к какой рубрике я ее прикрепил. Как сделать чтобы на главной отображались записи выборочно, а по умолчанию только в той рубрике куда ее прикрепил.
Я в этом деле новичок, прошу старожил помочь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2013, 01:54
Ответы с готовыми решениями:

Как сделать чтобы определённые модули отображались только на главной?
Привет народ. Стоит joomla 1.6, gantry framework. Нужно чтобы некоторые модули отображались только на главной. На главной стоит большой...

Как сделать чтобы в Reporte вместо id отображались записи соответствующие этому id
Суть такая. Отчет делается по одной таблице. Она связана со второй таблицей по id. Так вот, в чем суть проблемы, как мне сделать чтобы в...

Как сделать, чтобы в заголовках отображались даты, а в полях результаты? Можно ли так сделать?
Как сделать чтобы в заголовках отображались даты а в полях результаты можно ли так сделать?

13
334 / 334 / 57
Регистрация: 24.08.2013
Сообщений: 1,472
06.11.2013, 19:33
Цитата Сообщение от Ruslan_ Посмотреть сообщение
Как сделать чтобы на главной отображались записи выборочно, а по умолчанию только в той рубрике куда ее прикрепил.

Как исключить рубрику

Если надо не исключать, а конкретно указывать только нужные - не ставить минус.
0
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12
06.11.2013, 22:45  [ТС]
Спасибо, но это не то, что мне нужно.
Рубрику с рекламой я исключил кодом:

PHP
1
<?php wp_list_categories('orderby=slug&title_li=&exclude=16'); ?>
Рубрика исчезла из меню, а записи из этой рубрики все равно отображаются на главной.
Кроме того, иногда мне нужно будет опубликовывать видео не выводя на главную, а только в сайдбар и в рубрику.

преследуя эту цель я запретил отображение материалов из рубрик на главной посредством кода:

PHP
1
function removeFromHome($query) { if ($query->is_home)      {$query->set('cat','-5');} return $query; } add_filter('pre_get_posts','removeFromHome');
Все записи из указанных мной рубрик на главной не отображаются.
Теперь когда я добавляю новую запись не указывая рубрику она отображается на главной по умолчанию, если прикрепляю ее и к главной и к рубрики, она отображается только в рубрике, а с главной пропадает.
Ни как не могу понять, что надо изменить, вроде мелочь какая то, но какая?!
0
334 / 334 / 57
Регистрация: 24.08.2013
Сообщений: 1,472
07.11.2013, 19:41
Цитата Сообщение от Ruslan_ Посмотреть сообщение
это не то, что мне нужно.
Ruslan_, пройди по данной выше ссылке и почитай что там написано.
Цитата Сообщение от Ruslan_ Посмотреть сообщение
посредством кода
Это почти то же самое, что и по ссылке
Цитата Сообщение от Ruslan_ Посмотреть сообщение
Теперь когда я добавляю новую запись не указывая рубрику она отображается на главной по умолчанию, если прикрепляю ее и к главной и к рубрики, она отображается только в рубрике, а с главной пропадает.
Ни как не могу понять, что надо изменить, вроде мелочь какая то, но какая?!
Ну и где логика? Ты же хотел убрать её с главной? Добавляя в исключённую рубрику ты и запрещаешь вывод этого поста на морде.
Всё правильно. Что не понятно?

Зы. Когда ты не указываешь рубрику пост попадает в рубрику по умолчанию: "без рубрики" (да, это просто имя рубрики такое ) .
0
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12
07.11.2013, 23:24  [ТС]
Я наверное плохо излагаю.
В общем что мне нужно. Есть меню в хедере:
Главная. Авто. Запчасти. Аксессуары. Видео. Реклама.
Рубрику "Реклама" надо исключить из меню полностью, а также запретить отображение записей из этой рубрике на главной (эту проблему я решил, как описал выше).
Остальные рубрики отображаются в меню, и некоторые записи из этих рубрик должны отображаться только в самой рубрике (а видео еще и в боковом сайдбаре), а некоторые записи и в рубрике и на главной.

Если исключать как я исключил (второй код выше), то запись публикуется только в рубрике и на главной ее не видно, даже если я ставлю галочки напротив "Главной" и "Рубрики" все равно отображается только в рубрике.

Уфф, надеюсь понятно изложил.
0
334 / 334 / 57
Регистрация: 24.08.2013
Сообщений: 1,472
09.11.2013, 00:05
Цитата Сообщение от Ruslan_ Посмотреть сообщение
В общем что мне нужно.
Вот теперь более менее понятно.
Итак, у тебя есть 2 задачи.
1. Убрать ссылку на рубрику "реклама" из меню.
2. Не выводить посты из этой рубрики на главной.


Всё так?

Для первой задачи ты использовал код:
PHP
1
<?php wp_list_categories('orderby=slug&title_li=&exclude=16'); ?>
И тут проблем нет. Так?

Для второй задачи я и давал ссылку. (Но ты это уже сделал чуток по другому, но по сути где-то также).
Тут тоже вроде бы проблем нет, но:
Цитата Сообщение от Ruslan_ Посмотреть сообщение
Если исключать как я исключил (второй код выше), то запись публикуется только в рубрике и на главной ее не видно, даже если я ставлю галочки напротив "Главной" и "Рубрики" все равно отображается только в рубрик
И тут всё правильно. Ты же исключил в коде вывод рубрики. Естественно, она не появится на главной, потому как посты из этой рубрики просто не выбираются при запросе из базы.

Ты уж как-то определись - исключать вывод постов из рубрики на морду или нет.
0
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12
09.11.2013, 02:18  [ТС]
Цитата Сообщение от SergWP Посмотреть сообщение
И тут всё правильно. Ты же исключил в коде вывод рубрики. Естественно, она не появится на главной, потому как посты из этой рубрики просто не выбираются при запросе из базы.
Ты уж как-то определись - исключать вывод постов из рубрики на морду или нет.
Постараюсь еще раз
Изначально в шаблоне, все созданные рубрики попадают в меню в хедер, любая опубликованная запись (независимо от рубрики к которой приклеплена) попадает на главную.
Что я изменил:
Саму рубрику "Реклама" я исключил из меню (первый код), однако записи из рубрики все также попадали на главную. Нужно было запретить записям с рубрики Реклама вылезать, как вы говорите на морду, и это проблема решилась вторым кодом. С этим проблем нет.

Далее, все остальные рубрики могут содержать материалы, которые должны отображаться только в самой рубрике куда я их прикреплю, и также материалы которые будут отображаться и в самой рубрики и на главной.
Посмотрим на примере рубрики Видео.
Ролики снятые мной будут отображаться и в самой рубрике и на главной, а сторонние ролики должны отображаться только в рубрике (и возможно еще в сайдбаре).

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

Что я имею после применения второго кода ко всем рубрикам (кроме главной):

Я добавляю новую запись и не выбирая рубрику(или выбрав главную) опубликовываю, и запись на морде.
Я добавляю новую запись выбрав любую рубрику(кроме главной), и запись в рубрике (на морде ее нет).
Я добавляю новую запись и ставлю галочки напротив "Главной" и "Рубрики", и запись только в рубрике, и вот она проблема)). Хочется ее видеть и на главной и в рубрике.

Спасибо вам за ваше терпение
0
334 / 334 / 57
Регистрация: 24.08.2013
Сообщений: 1,472
09.11.2013, 13:07
Цитата Сообщение от Ruslan_ Посмотреть сообщение
поставив галочку напротив "Главная"
Где? Скрин покажи.

Цитата Сообщение от Ruslan_ Посмотреть сообщение
Я рассчитывал, что применив тот же (второй) код, я смогу запретить вывод записей на морду автоматически, но при необходимости поставив галочку напротив "Главная" смогу ее вывесить и в рубрике и на морде.
Нет. Указанием
PHP
1
'cat','-5'
ты исключил выборку 5-й категории. Поэтому этих постов просто нет в массиве, который надо выводить.
Цитата Сообщение от Ruslan_ Посмотреть сообщение
Хочется ее видеть и на главной и в рубрике.
Т.е. ты хочешь выводить ТОЛЬКО конкретные посты на главную? Тогда создай рубрику "главная" (название любое можно) и её ID укажи в твоём коде, только без минуса. Тогда на морде будут выведены записи ТОЛЬКО из этой рубрики (они же могут находится и в др. рубриках)
0
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12
09.11.2013, 23:36  [ТС]
По вашему совету я создал рубрику "Невидимка" ее id 18. Есть у меня также рубрика "Главная" id 1 (эта рубрика вшита в шаблон, в смысле я ее не создавал и не могу удалить, только редактировать, например переименовать). Рубрика реклама имеет id 16.

Вот этим кодом я запретил вывод рубрик в меню:

PHP
1
<?php wp_list_categories('orderby=slug&title_li=&exclude=16,18,1');
Здесь как видите 16 - "Реклама", 18 - "Невидимка", 1 - "Главная". Главную я был вынужден иксклюдить так как она у меня дублировалась и получалось такое меню:



Вот код который я применил для запрета вывода на главную записей:

PHP
1
2
3
4
5
function removeFromHome($query) {
if ($query->is_home) 
    {$query->set('cat','-10,-11,-12,-13,-14,18,1');}
return $query; }
add_filter('pre_get_posts','removeFromHome');
Как видите, в коде я прописал без минуса, рубрики 18 - "Невидимка" и 1 - "Главная".

Создал пробно запись и поставил галочку напротив одной из рубрик или напротив обоих рубрик 18 - "Невидимка" и 1 - "Главная". Самих рубрик в меню не видно, но запись на главной отображается. Как только я добавляю галочку еще к одной из рубрик из числа тех, что прописаны во втором коде со знаком минус set('cat','-10,-11,-12,-13,-14,18,1'), то запись с главной исчезает, при этом во всех трех рубриках она отображается.
Что я думаю. Каждая создаваемая запись получает свой id. Допустим id 126. И когда запись с этим id попадает в категорию прописанную во втором коде без минуса (рубрики 18 - "Невидимка" и 1 - "Главная") запись не попадает под запрет removeFromHome, но как только я добавлю ее еще к одной рубрике стоящей в коде с минусом, то на запись с id 126 распространяется запрет removeFromHome.
Вопрос остался тем же.
Как сделать чтобы из рубрик с id 10,11,12,13,14 записи при желании можно было отображать только в самой рубрике(запрещая ей висеть на морде) и при необходимости отображать и в рубрике и на главной???

Я думаю что второй код для этого немного узковат, неполноценен.
Вот если бы в нем можно было бы отдать приоритет категориям 18 и 1, то есть что бы записи попадающие в в категории с id 18 и 1 имели иммунитет на запрет removeFromHome, думаю сработало бы. Ну или совсем иной код.

Скрин меню.
Вложение 327547

Раздел рубрики.
Вложение 327549

Выбор рубрики при добавлении записи
Вложение 327548
0
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12
10.11.2013, 00:01  [ТС]
так выглядит меню


раздел рубрики


выбор рубрики при добавлении записи
Название: выбор.png
Просмотров: 1452

Размер: 24.8 Кб
0
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
10.11.2013, 00:02
http://codex.wordpress.org/Cla... Parameters

Для начала попробуйте сделать вывод на главной только из 18, 1 категорий (вы ведь этого добиваетесь ?) т.е.
PHP
1
2
3
4
5
function removeFromHome($query) {
if ($query->is_home) 
{$query->set('cat','18,1');}
return $query; }
add_filter('pre_get_posts','removeFromHome');
Он будет выводить записи только из 18 и 1 категории.. если вы ставите -16 (например) то он будет выводить все записи из 18 и 1 при этом которые не в 16..

Суть решения который вам посоветовали в том, что бы к 1-й категории добавлять все записи которые нужно выводить на главное ( т.е. передавать id 1 в функцию ) и все записи из категории 1 будут выводиться на главной.

И ещё по поводу меню: зачем использовать функцию wp_list_categories() ? нельзя ли поставить wp_menu() и задавать меню через админку ?
2
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 12
10.11.2013, 02:08  [ТС]
Очень обидно, что все было так легко
Я изначально не правильно понял предназначение кода. Думал чтобы запретить публикацию на главной нужно указать эти рубрики в коде с минусом.
Если я правильно понял достаточно в этом коде указать id рубрик без минуса и на главной будут публиковаться только записи из указанных рубрик? А из всех остальных рубрик (вообще не указанных в коде), записи на главную не попадут?
А если вписать в код id рубрики с минусом, то материалы из нее не попадут на главную в любом случае?

В любом случае проблема решена и все работает как мне надо.


ЗА ЧТО ВАМ ОГРОМНОЕ СПАСИБО!!!
0
334 / 334 / 57
Регистрация: 24.08.2013
Сообщений: 1,472
10.11.2013, 03:20
Цитата Сообщение от Ruslan_ Посмотреть сообщение
что все было так легко
В ВП, как правило, так и есть Самое сложное - понять простое.


Цитата Сообщение от Ruslan_ Посмотреть сообщение
Если я правильно понял достаточно в этом коде указать id рубрик без минуса и на главной будут публиковаться только записи из указанных рубрик? А из всех остальных рубрик (вообще не указанных в коде), записи на главную не попадут?
Да. Твоя ошибка выше была в том, что ты смешал исключения (-10,-11,-12,-13,-14) и жесткие условия (18,1):
PHP
1
 set('cat','-10,-11,-12,-13,-14,18,1')
Это взаимоисключающие условия. (чессгря я даже не знаю как они отработают, что приоритетней - исключения или положительные ID ;-) )
1
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
10.11.2013, 10:29
Добавлю, что если используется знак - то это означает что не выводить записи которые в категории этой, т.е.
Цитата Сообщение от SergWP Посмотреть сообщение
set('cat','-10,-11,-12,-13,-14')
говорит нам выводи все записи которые НЕ в категории 10, 11,12,14,14
Представим себе простой if куда передаются эти параметры, если использовать без "-" то идёт простое "==", а если использовать, то "!=".. таким образом пулучается след.:
PHP
1
2
3
4
5
6
7
8
9
10
if( $a != 10 && $a != 11 && $a != 12 && $a != 14 ){ 
//выводим записи 
} // где $a это все записи
/* У вас было условие : */
 if( $a != 10 && $a != 11 && $a != 12 && $a != 14 && $a == 18 && $a == 1 ){ 
//выводим записи 
} // т.е. как видите т.к. сравнивание через "и" ( && ) то он берёт все записи из 18 и 1 и убирает те что в 10,11,12,14.
if( $a == 18 && $a == 1 ){ 
//выводим записи 
} // тут должны выводиться записи из 18 и 1 даже если они только в 1-й из этих категорий
Если нужно что бы выводились записи и из 18 и из 1, но которые состоят в обоих категориях, то нужно вместо ->cat использовать ->cat__and
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2013, 10:29
Помогаю со студенческими работами здесь

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

Как сделать чтобы в календаре отображались праздники
Всем привет))) Не могу разобраться с WEB- приложением. Очень нужна помощь. Есть приложение &quot;Календарь&quot;, хочу сделать так чтобы...

Как сделать чтобы картинки не отображались в низ?
Исполняемый файл: function myavatars($userid){ $result = mysql_query(&quot;SELECT * FROM `avatars` WHERE `uid` = '$userid'&quot;); ...

Как сделать чтобы в запросе отображались TOP100?
собственно сабж, есть определенный рейтинг продаж по сумму продаж, как сделать чтобы вывод был определенного числа значений? .... вот

Как сделать чтобы в денвере идентификаторы id отображались последовательно
как сделать чтобы в денвере идентификаторы id отображались последовательно 1,2,3,4,5,а не 1, 40,80,7?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru