Исключить вывод функции на определенной странице!


Содержание материала:

как вызвать функцию только на определенных страницах и исключить ее из других страниц

У меня есть следующие функции

Я хочу, чтобы они вызывались только на определенной странице или исключались из определенных страниц.

Я смущен тем, как это сделать в function.php, пожалуйста, помогите!

функции, показанные выше, противоречат плану Q & A. это происходит на страницах qa. как только я попытаюсь ответить на вопрос, ответ не появится. Появится окно, если я удалю эти функции. Таким образом, я ищу способ, как я могу отключить вызов этих функций в qa_pages

Solutions Collecting From Web of «как вызвать функцию только на определенных страницах и исключить ее из других страниц»

если вы знаете, какой идентификатор страницы, например, вы можете изменить свой page.php

а затем на functions.php

я уверен, что есть другие варианты, но это приведет вас туда.

Как исключить записи и категории из главной страницы WordPress, rss ленты, категорий и архивов без плагинов

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

Также узнаете, как исключить целые категории, а не только конкретные записи. Покажу множество вариантов, как с плагинами, так и без них. В общем, все как всегда.

В каких случаях применять?

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

Такие статьи вряд ли будут полезны заседателям блога, так как они уже все это знают. Чтобы не засорять главную страницу ненужными анонсами, целесообразней будет не показывать их. В то же время их стоит добавлять на сайт, чтобы привлекать новую аудиторию на ресурс из поисковых систем. Отображение их тоже нужно, но делать это стоит на страницах рубрик и архивов, чтобы новички их могли найти, воспользовавшись навигацией по разделам сайта.

Например, данную статью вы не найдете на главной странице моего блога ни на одной их страницы пагинации (постраничной навигации). В то же время, анонс статьи виден в рубрике «Полезное» и на странице карты сайта «Все статьи».

Без плагина

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

Ниже я буду давать различные куски кода, которые стоит размещать в файле шаблона functions.php.

Исключение конкретных записей по ID

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

В строке 3 числа 1 и 2 являются ID записями, которые не будут отображаться на домашней странице. Прописывать нужно через запятую.

ID записи, страницы и категории узнаете в адресной строке браузера при просмотре через редактор.

Следующий вариант позволит исключить записи из RSS ленты.

Исключение из RSS ленты

Такой код позволит исключить анонсы из новостной ленты и не отправлять их по базе e-mail, если используете сервис подписки и анонсирования с помощью Feedburner.

Добавление записей в этом случае и во всех остальных происходит аналогично.

Исключение из рубрик и архивов

Для исключения записей со страниц рубрик, стоит использовать следующий код.

Данный код можно модифицировать и применить исключение из архивов. Нужно во 2й строек заменить функцию is_category на is_archive.

Исключение из страницы поиска

Такой вариант также может потребоваться, если какие-то записи не стоит показывать посетителям, когда они пользуются поиском по сайту. Например, это могут быть различные новостные статьи, которые не несут контента по тематике сайта.

Комбинирование нескольких вариантов

Можно совместить все выше предоставленные варианты и исключить записи из всех типов страниц сразу или выборочно на необходимых.

Если хорошо посмотреть на все коды, то во 2й строек можно увидеть условие, в котором задан параметр типов страниц для отключения отображения в них анонсов записей:

Можно комбинировать все варианты и исключить записи отовсюду или же на некоторых страницах. Например, для исключений из рубрик и главной стоит разместить в файле functions.php следующий код.

Во 2й строке с условием (if — если) прописаны параметры для категорий (is_category) или главной (is_home).

Замечу, что каждый следующий параметр прописывается внутри предыдущего через 2 вертикальных черты и находится в своих скобках. То есть, посмотрев на предыдущий код увидите, что второе условие для главной страницы заключено в свои скобки и находится внутри общих скобок, которые оборачивают первое условие для категорий.

Если стоит добавить какое-то 3е условие, например для страниц архивов, то стоит его добавить внутри скобок с условием для главной (is_home) и прописать через 2 вертикальные черты. На практике это выглядит следующим образом.

Таким же принципом добавляйте для исключения и другие типы страниц.

Следующим вариантом исключения записей является исключения целых рубрик (категорий).

Исключение целых категорий

Это очень удобно для лентяев, когда можно просто создать какую-то категорию и добавлять туда все записи, не требующие отображения на определенных типах страниц.

Структура кода практически аналогична. В нем лишь меняется параметр, который задает исключение поста или категории. В ранее рассмотренных случаях в последней строке был задан параметр исключения записи exclude_post. В новом коде его стоит заменить на exclude_cat.

Как видим, последняя строка потерпела изменений и 3я строка, где изменен параметр, считывающий ID рубрики. ID в данном случае прописывается через черточку, но так же само через запятую.

Принцип построения условия для типов страниц аналогичен рассмотренным вариантам ранее, где я показывал на примере исключения конкретных постов. Стоит изменять 2ю строку, добавляете необходимые параметры для категорий, поиска, архивов или RSS ленты.

Топ-пост этого месяца:  Самоучитель по основам Html

Итак, способы без плагина мы рассмотрели. Имеется еще вариант исключения записей о тегам, но сейчас теги уже не очень актуальны на 99% ресурсов. Если вам необходима такая информация, то напишите в комментариях об этом, пожалуйста. Сразу все добавлю.

Плагины

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

Если же стоит исключить специальную рубрику, созданную под статьи, не требующие отображения, то лучше воспользоваться одним из выше предоставленных кодов.

Плагин Simply Exclude

Скачать плагин можно, как через консоль WordPress с помощью поиска, так и с официального сайта WordPress .

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

После установки и активации сразу переходим в его настройки.

Изначально в настройках плагина все выставлено так, что при активации чек-бокса (рассмотрим чуть ниже) нужные страницы (записи, категории, страницы) будут помечены, как «разрешены для отображения». Таким образом для каждого типа страниц нужно будет проставить все чек-боксы, чтобы все отображалось.

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

В настройках имеются 3 вкладки, которые призваны настроить параметры для разных типов страниц:

  • Taxonomies (таксономии) — настройка для функционирования плагина в разделах админ-панели WordPress: рубрики и метки;
  • Post types (типы постов) — для типов постов: статьи и страницы;
  • Users — настройки для пользователей.

Сейчас я дам скриншот настроек первой вкладки (таксономии) и объясню параметры, которые стоит выставить.

  • В первом блоке настроек «Active» необходимо выставить чек-бокс «Active», чтобы плагин добавлял нужные чек-боксы для отключения отображения в рубрики или любые другие типы страниц;
  • Во втором блоке ставим все параметры напротив варианта «Exclude». Он означает, что при включенном чек-боксе в редакторе каждого типа страниц, она будет скрыта от отображения и новые статьи будут по умолчанию открыты для показа. Если поставить параметр «Include only», то поставив чек-бокс, записи будут открыты для показа и новые статьи по умолчанию будут скрыты. Если выбран второй вариант «Include only», то после установки плагина все записи будут скрыты и нужно будет выставить вариант «Exclude»;
  • В блоке «Show/Hide» ставим параметр «Show», чтобы нужные чек-боксы отображались в каждом типе страниц для возможности отключения или разрешения отображения.

Такие же параметры стоит проставить и на остальных 2х вкладках настройек плагина Simply Exclude.

Например, вот скриншот вкладки «Post types».

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

Теперь по поводу работы самого плагина. Когда проставили нужные параметры, то можно переходить в редактор каждого типа записей и ставить чек-боксы напротив тех страниц, где нужно исключить их отображение.

Например, чтобы проставить настройки для записей, можно перейти в редактор необходимой статьи или же через пункт все статьи. И там и там будут нужные чек-боксы. В редакторе в правой колонке будет блок «Simply Exclude», содержащий 4 чек-бокса для скрытия записи и страниц:

  • Archives — категорий и архивов;
  • Feeds — RSS ленты;
  • Front/Home — главной;
  • Searches — поиска.

Проставив нужный чек-бокс, скроете запись из определенного типа страниц.

В пункте админ-панели WordPress «Все записи» напротив каждого материала в новой колонке с названием «Simply Exclude show» также будут эти 4 чек-бокса. То же самое касается и рубрик. Будет добавлена новая колонка со всеми чек-боксами.

Вот и все по этому плагину. Установив его вы можете очень быстро и гибко изменять параметры отображения конкретных записей или целых рубрик без вмешательства в файлы шаблона.

Плагин Exclude Categories

Плагин предназначен только для скрытия целой рубрики из главной страницы и RSS ленты. Так как этот вариант не требует особой гибкости (создал один раз рубрику и туда добавляет статьи), то я рекомендую реализовать исключение целой рубрики кодом (см. пункт 2).

Скачать плагин можете по кнопке ниже.

После его установки перейдите в настройки (Настройки — Exclude Category) и выберите необходимую рубрику для исключения ее с главной страницы.

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

А пихать различные материалы в одну рубрику — не очень хорошо.

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

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

Желаю прекрасного настроения и великолепного вам дня. До встречи.

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

По мере роста материалов на сайте могут появиться записи, которые вы не хотели бы выводить в главной ленте новостей. Это могут быть, например, технические или коммерческие материалы.

По умолчанию WordPress выводит на главной странице последние опубликованные посты. Чтобы исключить вывод определенных записей воспользуемся плагином Ultimate Category Excluder.

После его установки заходим в настройки плагина:

Здесь мы видим список всех категорий нашего сайта и переключатели, которые позволяют убрать записи этих категорий с определенных мест сайта. Заголовки столбцов означают следующее:

  • Exclude from Main Page? – Исключить с главной страницы;
  • Exclude from Feeds? – Исключить из фида;
  • Exclude from Archives? – Из архивов;
  • Exclude from Search? – Из поиска.

Помечаем нужное нам и сохраняем настройки по кнопке внизу Update.

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

Как исключить выполнение функции на страницах AMP в WordPress?

Как исключить выполнение функции на страницах AMP в WordPress?

Почему этот код срабатывает на AMP страницах? Как это исправить?

1 ответ 1

Код срабатывает, потому что на страницах is_admin() возвращается false. Исправьте условие в if:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php wordpress amp или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.11.6.35358

Извращения с темами WordPress для новичков и не только (Часть 2) — query_posts

Спасибо тов. curlybrace за то, что открыл глаза на существующие правила и нормативы в постинге на Хабре. Будем вникать, а пока что вторая часть статьи о WordPress и темах.

Query Posts

Список последних записей

Как видно из кода мы передали в функцию query_posts параметр showposts равный 5. Даже не будучи особым знатоком английского языка, понятно что будут показаны 5 постов. Сортируются они по умолчанию по дате публикации — от последних к первым. the_permalink() — даёт нам ссылку на пост, а the_title() — заголовок.

N-постов из определенной рубрики

Всё проще простого — всего 6 знаков, а какой эффект, какой размах:-) Думаю тут пояснения не требуются, поэтому перейдём к

Топ-пост этого месяца:  Wix — конструктор сайтов, который не прижимает вас к земле

Исключаем записи из вывода

Расширяем кругозор или список доступных параметров

Думаю вы оценили прелесть этой небольшой, но мощной функции query_posts, и хотя вы всегда можете более глубоко изучить её в кодексе, я позволю себе перечислить параметры, которые могут вам пригодиться:
cat и category_name — выбор рубрики по ID или по имени, как исключить какую-то рубрику — см. выше.
Хинт: если нужно передать несколько рубрик, то не нужно несколько раз писать cat=1&cat=2, достаточно перечислить рубрики через запятую cat=1,2. Кстати говоря, этот приём относится к любому параметру, который может принимать несколько значений.
author и author_name — посты определенного автора, по > p и name — выбирает посты по > page_id и pagename — тоже самое, только применительно к страницам.
showposts — сколько из отфильтрованных постов/страниц показать при выдаче.
ВременнЫе (hour, minute, second, day, monthnum, year) — посты за указанный период.
paged — параметр позволяет показывать те посты, который в обычном случае доступны при переходе по ссылкам «Предыдущая страница», т.е. paged=2 покажет посты, как если бы мы отмотали на 2 страницы в прошлое (при выводе по 10 постов на странице, мы получили бы в выдаче записи с 21 по 30).
posts_per_page — сколько постов на страницу. Хорошо группируется с предыдущим параметром.
order — порядок сортировки по дате, принимает значения ASK — от старых к новым или DESC — от новых к старым (стоит по умолчанию).
offset — т.н. отступ. Пропускает (сдвигает) на определенное количество записей.

Вывести на конкретной странице — wordpress

Бывают такие ситуации, когда на определенной странице сайта под управлением wordpress, нужно вывести какой-нибудь блок или текст. Для реализации этой задачи можно воспользоваться несколькими способами: другой шаблон для страницы, произвольные поля или проверка на нужную страницу прямо в коде (не создавая дополнительный шаблон). Последний способ мы сегодня и рассмотрим.

Для начала нам нужно узнать >

Теперь идем в визуальный редактор или на ftp. Нам нужен шаблон page.php (хотя такую проверку можно делать не только в этом шаблоне). В нужном месте проверим, что страница имеет >

Ничего сложного. Если нам нужно также сделать это для дочерних (вложенных) страниц, то стоит модифицировать код до такого:

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

Вот пожалуй и все! Экспериментируйте и все получится!

Как исключить категории и теги при выводе записей wp_query

Бывает, что необходимо вывести записи (wp_query) на WordPress исключая конкретные категории или теги. Как это сделать расскажу в этой заметке.

Особенно часто возникает задача по исключению записей из конкретных категорий и тегов, когда нужно вывести WP_QUERY несколько раз на одной странице. Для того, чтобы исключить дубли уже выведенных записей, мы уберём их из вывода.

За исключение записей из категорий отвечает:

Исключить теги можно так:

Окончательный вид вывода может быть таким:

$paged = get_query_var( 'paged', 1 );

$args = array(
'category__not_in' => array(130, 310),
'tag__not_in' => array(141, 153, 155, 292, 311, 313),
'post_type' => 'post',
'orderby' => 'date', // Сортируем все записи по дате
'order' => 'DESC', // От большего к меньшему
'paged' => $paged, // Нужен для правильной работы пангинации
'posts_per_page' => '3',
);

// Полоностью перезаписываем параметры
global $wp_query;
query_posts( $args );

if ( have_posts() ) : while ( have_posts() ) : the_post();
get_template_part( '/archive/article' ); // здесь вывод записей
endwhile;
else :
endif;

wp_reset_query(); // Сбрасываем, чтобы количество страниц не увеличилось и не создались страницы без записей. Если этого не сделать, количество страниц увеличится из-за разбиения на 3 записи. И если на второй странице вывод записей больше 3-х, то на первой странице появятся ссылки на не рабочие страницы.

Несколько функций WordPress, которые я часто использую и вам советую

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

Думаю эта «сборка» будет полезна многим, у кого есть блоги и сайты на движке wordpress.

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

Вывод только на главной WordPress

Чтобы вывести что-либо на главной странице, но при этом не трогать другие страницы блога, есть такое условие:

Этот текст на главной странице. Этот текст на всех страницах, кроме главной. (можно оставить пустым)

Вместо функции is_front_page() можно использовать is_home(), но у меня она не всегда срабатывала. Поэтому использую первый вариант.

Обычно втыкать такой код нужно в файл index.php. Это зависит от шаблона.

Я применяю этот показ обычно для вывода тега H1 с названием сайта, а на страницах постов и других страницах сайта просто вывожу название в теге span, т.к. в H1 используется название статьи.

Вывод только в определенных постах WordPress

Иногда можно в сайдбаре к определенным статьям добавить какой-нибудь блок. Будь-то рекламный, или блок ссылок и т.д., но при этом не нужно его показывать на остальных страницах сайта.

Тогда выручает такой код:

Этот текст показывать, когда открыт пост №123 Этот текст показывать на остальных страницах сайта (можно оставить пустым)

Я обычно использую такой код в файле sidebar.php чтобы как-то по особенному монетизировать отдельные статьи и, соответственно, вставляю вместо текста рекламу. Подробнее об этом я написал в отдельной статье. Там же есть пример этой функции при использовании для нескольких постов.

Узнать номер поста можно зайдя в его редактирование — в строке браузера.

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

Здесь нужный текст

Вывод только в определенной категории WordPress

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

Код для этого такой:

Этот текст (или ссылки) показывать в категории №9.

Обычно втыкать код нужно в файл archive.php.

Если в посте нужно что-то показать только в том случае, если пост принадлежит определенной категори(и\ям), то поможет такая штука:

// Здесь то, что нужно показать, если пост принадлежит категориям 14, 15

Хлебные крошки для WordPress и другие вкусняшки

Мне не нравятся стандартные хлебные крошки WordPress. Я заменяю их на другие, а именно вот с этой страницы http://wp-kama.ru/id_541/samyie-hlebnyie-kroshki-breabcrumbs-dlya-wordpress.html

Сюда копировать не стал, т.к. слишком много букв, но ссылка пускай будет, чтобы не терять.

Там же у автора есть еще много полезностей:

  • Красивый вывод всех постов по месяцам написания;
  • Вывода записей по количеству просмотров;
  • Вывод блока ссылок на предыдущие записи, или только на предыдущие из категории;

Вот ссылка на страницу его авторских функций http://wp-kama.ru/cat/wordpress/functions

Будет обновляться и дополняться…

Как вывести блог на отдельной странице WordPress. 2 способа.

Я видел много сайтов на WordPress, у которых на главной странице отображается какая-нибудь статичная страница, а страница блога находится отдельно, например yourwebsite.com/blog .

Как же это реализовать на своём собственной сайте? На самом деле существует два способа — один простой и один не очень, рассмотрим их оба.

Способ 1. Использование index.php в качестве шаблона блога.

Это стандартный способ, предусмотренный в WordPress. Скорее всего на тех сайтах, про которые я говорил в самом начале поста, используется именно он. Рассмотрим пошагово.

Кстати, так как в разных темах содержимое файла index.php разное — оно может быть совсем не предназначено для блога, в таких случаях либо меняем сами свой index.php либо воспользуемся вторым способом, который я описал чуть ниже.

Топ-пост этого месяца:  Введение в PDO

Шаг 1. Создание страницы блога.

Ну, что тут сказать, переходим в Страницы > Добавить новую, указываем какой-нибудь заголовок, например Блог и какой-нибудь URL, например blog, после этого сохраняем. Всё, с шагом 1 покончено.

Шаг 2. Настраиваем отображение страниц в настройках.

Переходим в Параметры > Чтение, настраиваем отображение нужной страницы на главной, а для страницы записей устанавливаем созданную в предыдущем шаге.

Шаг 3. Последний шаг. Добавляем страницу в меню.

Уже после завершения второго шага при переходе по адресу блога (у нас это yourwebsite.com/blog ), у вас будет отображаться страница с записями, использующая шаблон файла index.php .

Тем не менее можно также добавить эту страницу в меню сайта (если поддерживается темой разумеется). Для этого переходим в Внешний вид > Меню, слева в колонке выбираем нашу страницу блога и нажимаем кнопку «Добавить в меню»

Способ 2. Использование собственного шаблона блога. Создание нескольких блогов на одном сайте WordPress.

Этот способ позволяет создавать страницы блога, используя свой собственный шаблон. Этот способ отлично подходит, если вам требуется изменить параметры вывода постов. Можно создавать разные страницы с разными параметрами вывода.

Шагов будет чуть побольше и они будут немного позаковырестей, чем в предыдущем методе. Итак, поехали.

Шаг 1. Создание шаблона страницы

Открываем папку с темой и создаем там файл произвольного названия, например blog-template.php . Внутрь файла вставляем:

Шаг 2. Создаем страницу блога

Этот шаг аналогичен первому шагу из начала поста. Итак, переходим в Страницы > Добавить новую, придумываем название и URL странице, и кроме всего прочего в атрибутах страницы указываем только что созданный нами шаблон.

Шаг 3. Плагин постраничной навигации

Однозначно, что нам понадобится постраничная навигация. Скорее всего у вас уже используется какой-то плагин или функция навигации. Если же навигация не будет работать, рекомендую поставить WP_PageNavi — этот плагин работает отлично, я его протестировал, всё ок.

Шаг 4. Шаблон страницы блога

Это голый шаблон блога, без таких важных функций как get_header(), get_footer() и прочего. Просто в данный момент важно понять саму суть.

Всё, страница блога создана, вы можете таким образом создать различные страницы блогов с разными параметрами массива $args. Полный список параметров здесь.

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю, но с 2020 выступаю только на тех, которые сам организовываю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

Комментарии 42

Здравствуйте Миша. Спасибо за статью, очень интересно. У меня сразу 2 вопроса.
1.Если проделать все выше сказанное вами, то придется менять чпу, скажем было:
http://sait.ru/category/какой-то_пост.html
на http://sait.ru/blog/category/какой-то_пост.html , ну чтобы логика не потерялась, соответственно придется делать редирект 301 в .htaccess, или все же не нужно менять структуру?
Мне кажется что нужно поменять структуру ЧПУ.
2. Не знаете как правильно сделать редирект?

Добрый день!
нет, ЧПУ менять не нужно.

Здравствуйте Миша.
Огромное спасибо за блог и понятный и простой стиль изложения. Если Вас когда-нибудь посетят сомнения "нужен ли кому-то этот блог? стоит ли продолжать?" - не сомневайтесь - стоит!

У меня такой вопрос: я не работаю с уже кем-то созданной темой, а пытаюсь написать тему сам. При этом есть задача вывести блог (новости) не на главную страницу, а на созданный мною специально для этого шаблон. В этот шаблон подгружается хедер из файла header-page.php (с таким названием я создал файл специально для размещения хедера на внутренних страницах сайта. т.е. это специальный кастомный хедер для внутренних страниц, на главную страницу подгружается хедер из файла со стандартным названием header.php). В этом хедере (header-page.php) подгружается каждый раз название страницы (раздела) сайта с помощью функцией the_title. В данном случае это название - Блог. Когда я прохожу со страницы Блог по ссылке какого-либо поста чтобы почитать его подробней (в развернутом виде) я перехожу на страницу которая использует шаблон single.php. Вопрос как сделать так чтобы в хедере, когда я нахожусь в одном из постов, отображалось не название данного поста, а по прежнему - название страницы сайт - Блог. Для этого мне нужно создать еще один хедер для подгрузки его именно в single.php со статичным названием страницы Блог, прописанным в HTML? я пробовал так, но в таком случае хедер отображается вообще без заголовка.
Как правильно называть файлы дополнительных хедеров? может в этом дело?
И как потом правильно подгружать такие кастомные хедеры в какие-либо из внутренних страниц сайта?

Заранее благодарю за ответ и помощь!

Относительно названий файлов дополнительных хедеров - всё ок.

Итак, если я правильно понял, у нас две страницы - single.php и шаблон.php, в которых выводятся названия страниц при помощи the_title() из одного файла header-page.php. Нужно сделать, чтобы и там и там отображалось название страницы - Блог. Есть пара вариантов:

1) Написать там без функции статично - Блог, (вы пишете, что заголовок пропадает вообще - хм, скорее всего тут уже просто ошибка была в третьем файле хедера). А что вы имеете ввиду под заголовком - то, что находится в ?

2) Используя функцию get_the_title() вывести название страницы блога. Тут нужно будет знать ID этой страницы, например так:

Миша, большое спасибо за совет! Второй вариант подошел - все работает корректно.

Как вывести статьи по рубрикам на отдельной странице (главной)

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

  • Создаем шаблон страницы
  • Вывод рубрик
  • Вывод записей
  • Красивости

Чтобы такое соорудить существует несколько вариантов. Но в этой статья будет показан как вывести статьи по рубрикам используя шаблон страницы. Очень подробно в видео ниже

Для тех, кто не любит смотреть видео кратко расшифрую алгоритм.

Создаем шаблон страницы

Используя менеджер файлов на хостинге или ftp-клиент, создайте в папке с темой файл с нужным вам именем, например main-page.php (если используется дочерняя тема, то файл надо создавать в папке дочерней темы).

Далее. В любой теме есть файл page.php . Открываете его и копируете содержимое файла page.php во вновь созданный файл main-page.php. Получилось? Отлично! Теперь осталось только указать, что main-page.php не просто файл и именно шаблон. Для чего достаточно вверху файла добавить следующее

Сохраняем. Теперь идем в админку сайта и создаем там новую страницу. Не забудьте:

  • На странице должно быть указано название
  • Короткий и понятный урл на транслите
  • И в атрибутах страницы надо добавить к ней наш шаблон

На этом создание шаблона страницы можно считать законченным.

Вывод рубрик

Выведем названия рубрик. Для этого будем использовать функцию get_categories() И в первую очередь, зададим нужные аргументы и запишем их в переменную

Отлично! Теперь выведем названия рубрик, для чего будем использовать перебор циклом и получим примерно такое

У вас должно получиться примерно такое

Вывод записей

Чтобы вывести записи будем использовать класс WP_Query<> И сначала зададим нужные аргументы и запишем значения в нужные переменные.

Хорошо. Теперь осталось вывести сами записи с миниатюрами.

В итоге получаем полный код, который будет выводить статьи по рубрикам

Красивости

Осталось добавить немного css для того, чтобы записи выводились в ряд

Вот и все.
Если есть вопросы, пишите в комментариях

Добавить комментарий