• Решено Zverush

    (@zverush)


    Здравствуйте. Пытаюсь использовать свою собственную таксономию, определяю её в файле functions.php так:

    add_action('init', 'create_taxonomies', 0);
    function create_taxonomies() { //Регистрирует пользовательские таксономии
        register_taxonomy('writers', 'post', array(
            'hierarchical' => false,
            'label' => 'Письменники',
            'query_var' => true,
            'rewrite' => true,
            'show_tagcloud' => true,
            'labels' => array(
                'search_items' => 'Шукати письменників',
                'popular_items' => 'Популярні письменники',
                'edit_item' => 'Редагувати письменника',
                'update_item' => 'Оновити письменника',
                'add_new_item' => 'Додати нового письменника',
                'separate_items_with_commas' => 'Розділяйте письменників комами',
                'choose_from_most_used' => 'Найпопулярніші письменники'
            )
        ));
    }

    все вроде бы очень хорошо — таксономия появилась в админке, можно добавлять в нее термы, которые можно присваивать публикациям. В облаке термов таксономии появляются те термы, которые присвоены публикациям.
    Но вот при переходе по ссылке терма, например: http://my_site/writers/antuan идет перенаправление на страницу 404.php. Попрошу заметить терм antuan существует и назначен постам, а сама ссылка формируется стандартным виджетом «Облако тегов».
    Почему происходит перенаправление? Что я сделал не так?
    Заранее спасибо!

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Предполагаю, что у вас нет шаблона для таксономий.
    Вот здесь все подробно расписано.

    Автор Zverush

    (@zverush)

    Спасибо что откликнулись. Шаблон archive.php у меня есть, да и если бы не было, то перенаправление шло бы на index.php а не на 404.php
    Методом научного тыка удалось частично решить проблему… или сузить рамки поиска затыка.
    Итого:

    Созданная мной таксономия работает, если:
    — в опциях указан тип постоянных ссылок по умолчанию, то есть вида: http://my_site/?p=123

    Созданная мной таксономия не работает, если:
    — в опциях указан тип постоянных ссылок как название публикаций, то есть вида http://my_site/sample-post/. При этом встроенная таксономия (рубрики, теги), а также статические страницы, посты и т.д. работают исправно. Мою же таксономию перенаправляет на 404.php

    Надеюсь такое уточнение проблемы поможет. Заранее спасибо за оказанную помощь!

    Совсем забыл про один нюанс, зайдите в админку /wp-admin/options-permalink.php и просто сохраните изменения.

    Автор Zverush

    (@zverush)

    То есть просто надо было пересохранить настройки? Хм…
    Спсибо, помогло! Проблема решена.

    Автор Zverush

    (@zverush)

    Проблема решена.

    То есть просто надо было пересохранить настройки? Хм…
    Спсибо, помогло! Проблема решена.

    На самом деле, это самый простой способ изменить правила формирования URL

    flush rewrite rules

Просмотр 6 ответов — с 1 по 6 (всего 6)

Тема «Перенаправляет на 404 при использ. своей таксономии» закрыта для новых ответов.