Вопрос как написать условие, чтобы на странице shop выводил просто слово «товары», а на других название категории?

У меня была проблема что в категории выводился заголовок: Архивы: Название категории, но мне не нравилось что отображается слово "Архивы" и мне посоветовали

<?php the_archive_title( '', '' );; ?>

заменить на
<?php single_term_title() ?>

Теперь в категориях отображается как надо, но на странице shop не выводится текст "товары".

Вопрос как написать условие, чтобы на странице shop выводил просто слово "товары", а на других название категории. PHP не владею.

Исходный код:

<div class="banner-shop">
            <?php if ( is_home() ) : ?>
                <?php if( is_front_page()):?>
                    <h1 class="page-title blog-title"><?php esc_html_e('Latest Posts','organics');?></h1>
                <?php else:?>
                    <h1 class="page-title blog-title"><?php single_post_title(); ?></h1>
                <?php endif;?>
            <?php elseif( is_single() ):?>
            <?php elseif( is_page() ):?>
                <h1  class="page-title"><?php the_title(); ?></h1>
            <?php else:?>
                <h1  class="page-title"><?php single_term_title() ?></h1>
                <?php
                ?>
            <?php endif;?>
       </div>
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
@ivansedov
<?php if (is_shop()) : ?>
  <h1 class="page-title">Товары</h1>
<?php else : ?>
  <h1 class="page-title"><?php single_term_title() ?></h1>
<?php endif; ?>
Ответ написан
Комментировать
AntonLitvinenko
@AntonLitvinenko
HTML coder
// Удаляет "Рубрика: ", "Метка: " и т.д. из заголовка архива
add_filter( 'get_the_archive_title', function( $title ){
	return preg_replace('~^[^:]+: ~', '', $title );
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sergeiermilov
@sergeiermilov
Веб-дизайн, фронтенд и WordPress разработка
Здесь вы не написали что значит "страница Shop" - это рубрика, это страница или WooCommerce магазин?

Если это рубрика, то самый простой вариант сделать так:

<?php if ( is_category( 'shop' ) { ?>
    <h1>Товары</h1>
<?php } else { ?>
    <h1><?php single_cat_title(); ?></h1>
<?php }; ?>


Если у вас страница (что вряд ли), то почти также:

<?php if ( is_page( 'shop' ) { ?>
    <h1>Товары</h1>
<?php } else { ?>
    <h1><?php single_cat_title(); ?></h1>
<?php }; ?>


Если у вас WooCommerce, то там же отдельный шаблон используется под магазин.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы