• Всем привет!
    Возможно ли в цикле отсеять посты из категории по умолчанию? Получается, что в данном случае не известен id категории…

Просмотр 11 ответов — с 16 по 26 (всего 26)
  • SeVlad Странно, я в первый раз написал свой плагин слайдера и мне сразу понадобилось!) По видимому Юрию такие вопросы встречались многократно! Либо он сам это использует… Это совсем не редкость…

    • Ответ изменён 6 лет, 6 месяцев назад пользователем fornit32.
    Модератор Юрій

    (@yube)

    По видимому Юрию такие вопросы встречались многократно!

    Не-а, ни разу.

    Странно, я в первый раз написал свой плагин слайдера и мне сразу понадобилось!)

    Вот как по мне — всё говорит за то, что Вы выбрали не верный путь решения.
    И к тому же придумали не существующие проблемы.

    Даже если юзер ошибся и не в ту рубрику поместил пост — он всегда это сможет изменить.
    А вот менять дефолтную рубрику на рабочем сайте — это что-то ближе к фантазиям.

    Юрий Может это как то обходят…
    Но ваше решение абсолютно рабочее, я проверил, не нужно хуков, просто:

    <?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.
    Модератор Юрій

    (@yube)

    не нужно хуков

    Хук нужен для того, чтобы «скрываемые» записи не попали в выборку.

    Как мы только что выяснили по ID не получится!

    Я уже и не знаю как говорить..
    Если не менять «дефолтность» (а это как правило и не нужно делать.. в трезвом уме и при нормальном состоянии/построении сайта), то всё получится.

    Это универсально — снова повторюсь…

    Кроме слова «универсально» стоит узнать понятие «разумная необходимость».

    Что толку от внедрения «универсального» руля, если в течении жизненного цикла транспортного средства он не будет меняться?
    А от «универсальной» клеммы в розетке, если она все равно будет меняться вместе с розеткой/проводкой?

    Но при этом будут затрачены ресурсы на внедрение «универсальности». Т.е. происходит удорожание. + снижается надёжность системы.

    Но хотите — дело Ваше… Кто ж Вам запретит.
    Вы похоже даже не услышали что Вы первый.

    SeVlad

    Если не менять «дефолтность» (а это как правило и не нужно делать..

    Юрий же написал, что id сам меняется при добавлении новых terms…

    Что толку от внедрения «универсального» руля, если в течении жизненного цикла транспортного средства он не будет меняться?

    В некоторых случаях заранее все продумать, это становится плюсом для программиста. Если так делать во всем, заказчик реже обращается к программисту, иногда замечает что что то делается за него — наперед и т.п. А куски такого кода — не заметная нагрузка на сервер, по поводу удорожания — я один раз это у вас спросил, теперь всегда легко это внедрю — за пару сек…

    Вы похоже даже не услышали что Вы первый.

    А разница? Это все равно ничего не дает… Обычно первым всегда труднее помочь, т.к. вопрос еще не отработан. Благо Юрий так быстро помог!

    • Ответ изменён 6 лет, 6 месяцев назад пользователем fornit32.
    • Ответ изменён 6 лет, 6 месяцев назад пользователем fornit32.

    Юрий же написал, что id сам меняется при добавлении новых terms…

    Не мог он такого сказать. 🙂

    В некоторых случаях заранее все продумать,

    Вот именно — подумать. И в первую очередь над конечной целью.

    А кодинг ради кодинга (ака «процесса».. я бы даже сказал удовлетворения ЧСВ) — есть зло современного мира.
    Безумные Улучшатели уничтожат цивилизацию. (с)Юрий. 🙂

    я один раз это у вас спросил, теперь всегда легко это внедрю — за пару сек…

    А другим после Вас переделывать.. да ещё и переучивать клиента на правильную работу с движком/сайтом.

    А разница? Это все равно ничего не дает…

    Попробую еще раз. последний:

    всё говорит за то, что Вы выбрали не верный путь решения.
    И к тому же придумали не существующие проблемы.

Просмотр 11 ответов — с 16 по 26 (всего 26)
  • Тема «Как отсеять посты из «категории по умолчанию»» закрыта для новых ответов.