Две страницы главной
-
Добрый день всем! У меня на сайте пять рубрик не соответствуют тематике сайта и я успешно удалил их в функционс от попадании на главной.
Но вывод этих рубрик нужны на отдельной странице , что можете посоветовать , стоит ли создать отдельную страницу шаблон например под названием «наши услуги» /nashiuslugi, и включать там вывод только этих пять рубрик таким кдом <?php if ( have_posts() ) : query_posts($query_string .’cat=-1&posts_per_page=10′); while ( have_posts() ) : the_post(); ?>.Или мне, чайнику кто то даст более разумный ответ?
речь идет о рубриках которые я добавил меню
Услуги
РАЗРАБОТКА ……
и пргрубо говоря , если адрес https://www.rianovost.ru/ выводит все рубрики кроме этих выше пять рубрик, то адрес https://www.rianovost.ru/riauslugi/ будет выводит наоборот только эти 5 рубрик.
спасибо!Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
-
стоит ли создать отдельную страницу шаблон например под названием «наши услуги» /nashiuslugi, и включать там вывод только этих пять рубрик таким кдом <?php if ( have_posts() ) : query_posts($query_string .’cat=-1&posts_per_page=10′); while ( have_posts() ) : the_post(); ?>
Не стоит. query_posts в шаблоне — источник головной боли.
Я бы создал рубрику «услуги» и эти не соответствующие тематике рубрики сделал ее дочерними.
А если делать совсем правильно, то для услуг нужно создать кастомный тип записей и кастомную таксономию для него. Вот тогда никто никому не будет мешать.
Я вчера в один момент сделал , но потом заподозрил что то интуитивно и удалил этот шаблон с кюери постом , но сейчас в функшонс пхп запрет стоит на этих рубрик таким образом
<?php //исключить категории из главной function rianovost_category_home($query){ if ($query->is_home){ $query->set('cat','-1575','-1576','-1577','-1578','-1579');} return $query;} add_filter('pre_get_posts', 'rianovost_category_home');
где ‘-1575′,’-1576′,’-1577′,’-1578′,’-1579′ как раз эти рубрики , они не выводятся на главной странице.
потом создал шаблон page-riauslugi.php копипастом вставил содержимое из index.php потом в этом файле заменил в начале комент<?php /* * Template Name: riauslugi * Description: Page template */
далее где
if ( have_posts() ) : while ( have_posts() ) : the_post();
между ними добавил текст
query_posts('category_name=uslugi');
получилсь
if ( have_posts() ) : query_posts('category_id=1575,1576,1577,1578,1579'); while ( have_posts() ) : the_post();
Потом создал страницу со слагом riauslugi получился по адресу
https://www.rianovost.ru/riauslugi/
в редакторе страницы присвоил ранее созданный шаблон page-riauslugi
вроде все заработал, но мне что-то не нравился такой подход, и в последствии удалил страницу .
Сейчас у меня рубрика Услуги родитель а остальные четыре дочки , и я могу в меню тоже так делать Услуги с подменю четырем типам услуг, но в таком случае при создании объявлении нужно что в записях помимо четырех дочек указать рубрику услуги пока да такой вариант пригодится, но по мере расширения перечня услуг это не очень хорошая идея, по этому я хотел бы, что если даже в объявлении указать всего лишь одну рубрику из выше перечисленных, то записи все ровно попадались по одному адресу например https://www.rianovost.ru/riauslugi/
Я понимаю, что можно создать поддомен и его задействовать только с вышеуказанными рубриками а в родительском домене в пункт меню добавить произвольную ссылку на поддомен с названием РИА Услуги . Но такой вариант пахнет геморроем .
Про кастомный тип ничего не слышал, можно по подробней или ссылку на инструкциюМожет лучше не парится и создать поддомен например uslugi.rianovost.ru что легче по трудоемкости и по времени ?
но в таком случае при создании объявлении нужно что в записях помимо четырех дочек указать рубрику услуги
Зачем? WP, если специально не запретить, в рубрике выводит записи и из текущей рубрики, и из ее дочерних. И не нужно никаких лишних страниц плодить на ровном месте.
Тогда задача практически решена, значит те, кто пишет объявления достаточно указать один из дочерних рубрик и эти записи попадут на на родительскую рубрику, конечно в таком случае никакой страницы создать не нужно, вордпресс и так создаёт страницу для каждой рубрики, я об этом не знал. Это вполне устраивает меня то, что и требовался делать!
Ещё вопрос :
Я выше рассказал, каким образом в function.php запретил вывод этих рубрик на главной, если я ещё создаю дочерную рубрику к «услуги» они автоматом попадут ли в список исключения или вновь надо редактировать function.php и добавить id дочерних рубрик?
И наконец-то, способ запрета в function.php вывода тех рубрик на главной предпочтительный или не стоит их исключать командой $query. Может быть и есть другие более предпочтительные способы?
Спасибо!‘pre_get_posts’ — правильный метод. Чтобы каждый раз вручную не добавлять рубрики, можно прямо в запрещалке получить список дочерних от «услуги», например, функцией get_categories
Юрий Спасибо большое! Я Создал поддомен, но это так сказать , для экспериментов, по этому остается актуальным ваш вариант:
1. Создать пользовательские типы
1.1 записей
1.2 рубрик
1.3. меток
2. применить к ним макет сайта , то есть пользовательские стили пока не нужны
3. Запрет вывода пользовательских записей, рубрик и меток на главной или если по умолчанию не выводятся еще лучше
4. вывод пользовательских записей, меток и рубрик на отдельной странице (вернее по отдельному адресу (слагу) где не будут выводятся не стандартные рубрики, метки и записи (только пользовательские) , одним словом копия сайта в сайте, но с другой тематикоой. Буду чрезвычайно благодарен если поможете с инструкцией с нуля, дел в том, что в интернете полн разных инструкции и я совсем запутался .
Еще раз спасибо1. Создать пользовательские типы
1.1 записей
1.2 рубрик
1.3. метокТермины «рубрики» и «метки» совершенно однозначно относятся к термам вполне конкретных предустановленных таксономий, а потому не могут быть пользовательскими. Согласен, «терм иерихической таксономии» длиннее и неудобнее, чем «рубрика», но он позволяет избежать взаимонепонимания.
если поможете с инструкцией с нуля
Формат форума не предусматривает написания циклов лекций 🙂
Ссылку тоже не дам, просто потому, что мне такие инструкции без надобности, и я не знаю, где они водятся. Извините.
Возможно, кто-то из «методистов» поможет.Я долго изучал все вдоль и поперёк, есть там разные инструкции по созданию таксономии и прочее, но я на мой взгляд выбрал самый простой вариант не перегружая и сайт и свой головной мозг заодно.
1. Запретил вывод одной рубрики на главной в functions.php, заодно попали под запрет её дочерние рубрики, что и мне требовался.
2. Создал в меню пункт из той рубрики, которая запрещено выше и нажимая на этот пункт попадаем на «страницу» где выводятся записи отдельной рубрики с дочерними рубриками вне зависимости от того, при создании записи указано родительская рубрика или только дочерняя, _этого и я хотел.
Конечно есть другой вариант:
2.2.создать шаблон, в нем указать вывод определённых записей, сохранить в новом названии, потом создать страницу, применить к ним шаблон, потом в пункт меню добавить эту страницу, но этот вариант более трудоёмкий и незачем погружаться, если просто можно поступать по п. 2. Но есть один нюанс, например хочется, что применить к новой странице другой дизайн, тогда нужно действовать по пункту 2.2. Но это мне не нужно, по крайней мере пока не нужно.
3. О таксономии :
Кроме меток и рубрик можно выйти из этих структур и создать собственные таксономии, как иерархические (рубрики) , так и плоские (метки), можно и добавить или убавить разные атрибуты к разным таксономиям.
Но я поступал по другому, в плагине rank math seo удалил префикс «category» и в итоге уже название категории превратились в таксономии, опять же повторяю, это актуально, если к новым таксономиям не нужно применить специфические свойства отличных от стандартных свойств к рубрикам
————————-
Теперь в итоге у меня получилось интересная ситуация :
Создал рубрику «услуги» задал слаг «services», запрещал вывод на главной, убрал в плагине category и по сути появился новая таксономия «services» который доступен по адресу https://www.rianovost.ru/services/ где я могу назначить определённые количества дочерних рубрик, и соответственно записи этих дочерних рубрик выводятся по данному адресу и будут доступны каждые по своему слагу, например https://www.rianovost.ru/services/remont-i-stroitelstvo/,
А сами записи уже по прямой ссылке mysite.ru/zapis а не /services/remont-i-stroitelstvo/zapis такой вывод адресов я специально настроил в настройках «постоянные ссылки».
Далее в archive.php (в моей теме нет файла category.php и за вывод рубрик отвечает archive.php) специальным кодом назначил вывод списка дочерних рубрик кроме самих записей , применил к ним дизайн css.
Таким образом я думаю, что не зачем создавать новые таксономии, если можно убрать /category и автоматом каждая рубрика является как новая таксономия, можно и в принципе поменять дизайн если создавать шаблон например archive-services.php правда, я ещё не знаю каким образом можно подключить шаблон к рубрике и вообще можно ли этого делать.
Таким образом прошу вас, оцените мои действия, правильные ли они и стоит ли отметить вопрос как решенным?
Если у вас есть замечания, прошу их изложить здесь.
Спасибо за внимание!
- Тема «Две страницы главной» закрыта для новых ответов.