@veroni1337

Почему у меня не правильно работают хлебные крошки в кастомных записях?

Здравствуйте. У меня проблема с хлебными крошками в wordpress.
Вот так создал кастомные записи:
/* проекты */
add_action( 'init', 'projects' ); // Использовать функцию только внутри хука init
function projects() {
    $labels = array(
        'name' => 'Проекты',
        'singular_name' => 'Проекты', // админ панель Добавить->Функцию
        'add_new' => 'Добавить проект',
        'add_new_item' => 'Добавить новый проект', // заголовок тега <title>
        'edit_item' => 'Редактировать запись',
        'new_item' => 'Новая запись',
        'all_items' => 'Все проекты',
        'view_item' => 'Просмотр записи на сайте',
        'search_items' => 'Искать проекты',
        'not_found' =>  'Запись не найдена.',
        'not_found_in_trash' => 'В корзине нет записей.',
        'parent_item_colon' => 'Родительская запись',
        'menu_name' => 'Проекты' // ссылка в меню в админке
    );
    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true, // показывать интерфейс в админке
        'has_archive' => true,
        'menu_position' => 20, // порядок в меню
        'hierarchical' => false,
        'rewrite' => array(
            'slug' 		 => 'projects',
			'with_front' => false,
			'pages'      => true,
			'feeds'      => false,
			'feed'       => false,
        ),
        'supports' => array('title','editor','thumbnail','page-attributes',)
    );
    register_post_type('projects', $args);
}
/* проекты */


Затем создал шаблон страницы, где буду выводить весь список записей page-projects.php и внутри вывожу записи вот так:
<?php
                global $wp_query;

                $wp_query = new WP_Query(array(
                    'post_type'      => 'projects',
                    'posts_per_page' => 9,
                    'paged' => get_query_var('paged') ?: 1,
                ));

                // Цикл.
                if ( $wp_query->have_posts() ) :
                    while ( $wp_query->have_posts() ) :
                        $wp_query->the_post();
                        get_template_part( 'template-parts/template', 'projects-catalog' );
                    endwhile;
                endif;
                ?>


Постоянные ссылки формируются от названия страницы и еще я установил плагин cyr2lat что бы русские названия переводить в латиницу. Теперь получается, что страница проекты имеет ссылку https://mySite.com/proekty, а ссылка на карточку проекта https://mySite.com/projects/projectPost1, т.е в хлебных крошках ссылка идет на https://mySite.com/projects, а мне нужно на /proekty/. Что я делаю не так подскажите пожалуйста
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Здравствуйте.

Попробуйте создать шаблон archive-projects.php и в нём разместить код цикла:

while ( have_posts() ) : the_post();
    get_template_part( 'template-parts/template', 'projects-catalog' );
endwhile;

+ код вывода шапки и футера (не знаю как у вас конкретно устроена тема).

Должно начать ссылаться на архив записей https://mySite.com/projects/ , а товары будет вложены -- https://mySite.com/projects/projectPost1.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы