Ответы в темах

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Вы используете WPML String Translation для перевода строк или для создания мультиязычного сайта?

    Как вариант перейти на плагин qTranslate-XT (eXTended), но он работает только с классическим редактором, не Gutenberg’ом.

    А если Вы просто пытаетесь перевести тему с английского на русский, то используйте плагин Loco Translate.

    Тестил на других темах , все страницы работают

    Собственно, вы и дали ответ на свой вопрос. В Вашей теме скорее всего присутствует папка woocommerce, в которой лежат неправильные (или пустые) файлы: /wp-content/themes/название_темы/woocommerce

    Варианты решения: либо удалить папку woocommerce из своей темы, либо искать в ней ошибочные файлы. Например, может быть такое, что файл archive-product.php пуст. А он отвечает за вывод категорий.

    Правильные файлы для переделки можно взять из самой папки с плагином woocommerce: /wp-content/plugins/woocommerce/templates

    • Ответ изменён 5 лет, 5 месяцев назад пользователем Bogdan Gerasymenko.
    • Ответ изменён 5 лет, 5 месяцев назад пользователем Bogdan Gerasymenko.
    • Ответ изменён 5 лет, 5 месяцев назад пользователем Bogdan Gerasymenko.

    Можно попробовать при создании custom post type указать slug = /:

    'rewrite' => [
      'slug' => '/',
      'with_front' => false
    ]

    Либо убрать с помощью функции (вставить код в файл functions.php своей текущей темы):

    function games_remove_slug( $post_link, $post, $leavename ) {
        if ( 'games' != $post->post_type || 'publish' != $post->post_status ) {
            return $post_link;
        }
        $post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );
        return $post_link;
    }
    add_filter( 'post_type_link', 'games_remove_slug', 10, 3 );

    Чтобы после этого не возникало 404 ошибки, нужно ниже добавить такой код:

    function games_parse_request( $query ) {
        if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {
            return;
        }
        if ( ! empty( $query->query['name'] ) ) {
            $query->set( 'post_type', array( 'post', 'games', 'page' ) );
        }
    }
    add_action( 'pre_get_posts', 'games_parse_request' );

    Ну и обновить настройки в меню Настройки -> Постоянные ссылки.

    Да, поняли всё верно, нужно работать с функцией add_rewrite_rule().

    Вот здесь есть готовые примеры по вашему вопросу:
    https://wp-kama.ru/function/add_rewrite_rule

    У нас была подобная проблема на старой теме. Помогло отключение нового редактора Gutenberg.

    Для этого перейдите в папку с вашей текущей темой, найдите там файл functions.php и в самый низ добавьте такой код:

    add_filter('use_block_editor_for_post', '__return_false');
    add_filter('use_block_editor_for_post_type', '__return_false');
Просмотр 5 ответов — с 1 по 5 (всего 5)