Как отсеять посты из «категории по умолчанию»
-
Всем привет!
Возможно ли в цикле отсеять посты из категории по умолчанию? Получается, что в данном случае не известен id категории…
-
SeVlad Странно, я в первый раз написал свой плагин слайдера и мне сразу понадобилось!) По видимому Юрию такие вопросы встречались многократно! Либо он сам это использует… Это совсем не редкость…
-
Ответ изменён 6 лет, 6 месяцев назад пользователем
fornit32.
По видимому Юрию такие вопросы встречались многократно!
Не-а, ни разу.
Странно, я в первый раз написал свой плагин слайдера и мне сразу понадобилось!)
Вот как по мне — всё говорит за то, что Вы выбрали не верный путь решения.
И к тому же придумали не существующие проблемы.Даже если юзер ошибся и не в ту рубрику поместил пост — он всегда это сможет изменить.
А вот менять дефолтную рубрику на рабочем сайте — это что-то ближе к фантазиям.Юрий Может это как то обходят…
Но ваше решение абсолютно рабочее, я проверил, не нужно хуков, просто:<?php echo 'Категория по умолчанию для товаров id=' . get_option('default_product_cat'); ?> <?php echo 'Категория по умолчанию для постов id=' . get_option('default_category'); ?>
Я даже в отдельном файле проверял подключаясь к БД посредством:
define('WP_USE_THEMES', false); require ('../../wp-load.php'); global $wpdb, $post; $loop = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_type = 'product' AND post_status = 'publish' ORDER BY id DESC LIMIT 200 " ); echo 'Категория по умолчанию для товаров id=' . get_option('default_product_cat');
SeVlad
Даже если юзер ошибся и не в ту рубрику поместил пост — он всегда это сможет изменить.
А вот менять дефолтную рубрику на рабочем сайте — это что-то ближе к фантазиям.Речь не об изменении рубрики или категории, а чтобы скрыть часть результатов и посетитель сайта не увидел что то странное вроде «Uncategorized» и т.п.
А за одно и получить универсальное решение и с изменением, ведь так лучше, несколько зайцев разом…-
Ответ изменён 6 лет, 6 месяцев назад пользователем
fornit32.
чтобы скрыть часть результатов и посетитель сайта не увидел что то странное вроде «Uncategorized» и т.п.
«Чтобы скрыть» — управляется по ID или слагу.
А «Uncategorized» достаточно переименовать.Повторю в который раз — дефолтная рубрика на рабочем сайте обычно не меняется (может поменяться при изменении структуры данных, а значит ещё каких-то серьёзных работ на сайте).
Так что просто нет никакой необходимости определять какая рубрика на данном запросе является дефолтной. Я не знаю насколько это будет серьёзной нагрузкой, но что в любом случае лишняя — я уверен.(Кстати, наличие «Uncategorized» говорит об использовании не «русского» ВП. И если была установка «этого» из панели хостера, то возможны разные сюрпризы.)
SeVlad
«Чтобы скрыть» — управятся по ID или слагу.
Как мы только что выяснили по ID не получится!
По слагу хорошо, но совсем не трогая его лучше, ведь слаг можно изменить и все слетит… Это универсально — снова повторюсь…Я не знаю насколько это будет серьёзной нагрузкой, но что в любом случае лишняя — я уверен.
Вот такой кусок кода не будет большой нагрузкой:
$a = get_option('default_product_cat'); if($a == $b) { // немного кода }
Это тысячные доли секунды, если не меньше! Тем более такой код дает возможность больше не возвращаться к id этой рубрики!
Динамичность — в этом вся суть вордпреса!
А так то можно и без вордпреса html страницы писать как 25 лет назад и объединять их менюшкой. И при каждом изменении пререписывать ссылки, само меню и т.п._-
Ответ изменён 6 лет, 6 месяцев назад пользователем
fornit32.
не нужно хуков
Хук нужен для того, чтобы «скрываемые» записи не попали в выборку.
Как мы только что выяснили по ID не получится!
Я уже и не знаю как говорить..
Если не менять «дефолтность» (а это как правило и не нужно делать.. в трезвом уме и при нормальном состоянии/построении сайта), то всё получится.Это универсально — снова повторюсь…
Кроме слова «универсально» стоит узнать понятие «разумная необходимость».
Что толку от внедрения «универсального» руля, если в течении жизненного цикла транспортного средства он не будет меняться?
А от «универсальной» клеммы в розетке, если она все равно будет меняться вместе с розеткой/проводкой?Но при этом будут затрачены ресурсы на внедрение «универсальности». Т.е. происходит удорожание. + снижается надёжность системы.
Но хотите — дело Ваше… Кто ж Вам запретит.
Вы похоже даже не услышали что Вы первый.SeVlad
Если не менять «дефолтность» (а это как правило и не нужно делать..
Юрий же написал, что id сам меняется при добавлении новых terms…
Что толку от внедрения «универсального» руля, если в течении жизненного цикла транспортного средства он не будет меняться?
В некоторых случаях заранее все продумать, это становится плюсом для программиста. Если так делать во всем, заказчик реже обращается к программисту, иногда замечает что что то делается за него — наперед и т.п. А куски такого кода — не заметная нагрузка на сервер, по поводу удорожания — я один раз это у вас спросил, теперь всегда легко это внедрю — за пару сек…
Вы похоже даже не услышали что Вы первый.
А разница? Это все равно ничего не дает… Обычно первым всегда труднее помочь, т.к. вопрос еще не отработан. Благо Юрий так быстро помог!
Юрий же написал, что id сам меняется при добавлении новых terms…
Не мог он такого сказать. 🙂
В некоторых случаях заранее все продумать,
Вот именно — подумать. И в первую очередь над конечной целью.
А кодинг ради кодинга (ака «процесса».. я бы даже сказал удовлетворения ЧСВ) — есть зло современного мира.
Безумные Улучшатели уничтожат цивилизацию. (с)Юрий. 🙂я один раз это у вас спросил, теперь всегда легко это внедрю — за пару сек…
А другим после Вас переделывать.. да ещё и переучивать клиента на правильную работу с движком/сайтом.
А разница? Это все равно ничего не дает…
Попробую еще раз. последний:
всё говорит за то, что Вы выбрали не верный путь решения.
И к тому же придумали не существующие проблемы. -
Ответ изменён 6 лет, 6 месяцев назад пользователем
- Тема «Как отсеять посты из «категории по умолчанию»» закрыта для новых ответов.