Как в этот код добавить условие?
Задача следующая. Есть плагин WP который выводит похожие записи. Мне нужно чтобы похожие записи выводились в отдельных записях только в конкретной рубрике.
Вот код плагина.
<?php yarpp_related(); ?>
Без условия, он отображает записи в нужной мне рубрике (что мне и нужно), но в прочих рубриках отображает текст "Похожих записей нет".(что как раз таки мне НЕ нужно). Если удалить текст, то визуально пусто, но стили и код плагина выводятся, что видно из консоли браузера. Потому я хочу чтобы плагин работал и отображался только под записями рубрики "Портфолио".
Дополнительно:
Создатель плагина предлагает такое решение ..
// Disable YARPP Automatic Display in specific categories function yarpp_disable_categories() { // Examples of in_category usage: https://codex.wordpress.org/Function_Reference/in_category if ( in_category( array( 'my_category_1_slug', 'my_category_2_slug' ) ) ) { return true; } } add_filter( 'noyarpp', 'yarpp_disable_categories' ); |
// Disable YARPP Automatic Display in specific categories function yarpp_disable_categories() { // Examples of in_category usage: https://codex.wordpress.org/Function_Reference/in_category if ( in_category( array( 'my_category_1_slug', 'my_category_2_slug' ) ) ) { return true; } } add_filter( 'noyarpp', 'yarpp_disable_categories' );
или
[yarpp exclude="1,2,3"] - exclude posts with categories with IDs 1,2 and 3 |
[yarpp exclude="1,2,3"] - exclude posts with categories with IDs 1,2 and 3
Адаптируйте под себя
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

В вашем случае условие нужно ставить не внутри самого YARPP, а вокруг вызова
yarpp_related(). Если похожие записи должны выводиться только в рубрике “Портфолио”, проверяйте текущую запись черезin_category()и вызывайте плагин только тогда, когда условие выполнено.if (is_single() && in_category('portfolio')) { yarpp_related(); }
Вместо
portfolioподставьте slug вашей рубрики. Slug можно посмотреть в админке WordPress: Записи → Рубрики → нужная рубрика → Ярлык. Если удобнее использовать ID рубрики, можно так:if (is_single() && in_category(12)) { yarpp_related(); }
Если вызов находится в шаблоне
single.php, этого достаточно. Плагин не будет запускаться в других рубриках, и у вас не появится пустой контейнер с текстом “Похожих записей нет”.Если же YARPP включён в автоматическом режиме через настройки плагина, одного условия в шаблоне может быть мало. Тогда отключите автоматический вывод в настройках YARPP и выводите похожие записи вручную только там, где нужно. Это более управляемый вариант.
Функция, которую предлагает автор плагина, скорее всего нужна для фильтра отключения автоматического вывода. Но логика там обратная: если функция возвращает
true, вывод отключается. Вам нужно отключать всё, что не “Портфолио”:function yarpp_disable_categories() { return ! in_category('portfolio'); }
После правки проверьте запись из рубрики “Портфолио” и любую запись из другой рубрики. В первой блок должен появиться, во второй не должно быть ни текста, ни пустой обёртки.