• Как произвольному типу записи добавить полностью свои собственные категории, но чтобы они могли иметь точно такие же названия и точно такие же slug-и как и стандартные уже имеющиеся ранее категории и при этом материалы разных типов записей не перемешывались в категориях? И вообще можно ли это осуществить? В данный момент я создал произвольный тип записи и вижу, что в нем отображаются те же категории и метки с теми же url, как и у основных материалов. Как можно решить проблему? Как создать новые такие же категории (пустые, без записей) у произвольного типа записей и при этом оставить их названия и slug-и? Конечно, url чтобы у них были разные при этом.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Как произвольному типу записи добавить полностью свои собственные категории

    Категория — вполне конкретная «предустановленная» таксономия, по дефолту привязанная к записям типа ‘post’. Таксономия произвольного типа не имеет права называться «категория».

    В данный момент я создал произвольный тип записи и вижу, что в нем отображаются те же категории и метки

    Матчасть: https://developer.wordpress.org/reference/functions/register_post_type/
    Конкретно вот этот место:

    ‘taxonomies’
    (array) An array of taxonomy identifiers that will be registered for the post type. Taxonomies can be registered later with register_taxonomy() or register_taxonomy_for_object_type().

    создать свою таксономию-копию category?

    Спасибо за разъяснение. Про таксономии стало понятнее. После долгих поисков мне удалось найти ответ на свой вопрос, а точнее удалось найти нужный код, который работает так как я и хотел. Оставляю его тут, вдруг, кому-то пригодится кто хочет добавить новый тип записи и сделать к нему свои собственные категории (точнее таксономии):

    add_action('init', 'acsessuar');
    function acsessuar()
    {
      $labels = array(
        'name' => 'Аксессуары',
        'singular_name' => 'Аксессуар',
        'add_new' => 'Добавить аксессуар',
        'add_new_item' => 'Добавить новый аксессуар',
        'edit_item' => 'Редактировать аксессуар',
        'new_item' => 'Новый аксессуар',
        '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,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => 5,
        'supports' => array('title','editor','thumbnail', 'comments'),
    	'taxonomies' => array('accessories') 
      );
      register_post_type('acsessuar',$args);  
    }
    
    // Создаем новую таксономию для аксессуаров
    add_action( 'init', 'create_acsessuar_taxonomies', 0 );
    
    function create_acsessuar_taxonomies(){
      $labels = array(
        'name' => _x( 'Категории аксессуаров', 'taxonomy general name' ),
        'singular_name' => _x( 'Категория аксессуара', 'taxonomy singular name' ),
        'search_items' =>  __( 'Найти категорию аксессуаров' ),
        'all_items' => __( 'Все категории аксессуаров' ),
        'parent_item' => __( 'Родительская категория аксессуара' ),
        'parent_item_colon' => __( 'Родительская категория' ),
        'edit_item' => __( 'Родительская категория' ),
        'update_item' => __( 'Обновить катгорию' ),
        'add_new_item' => __( 'Добавить новую катгорию' ),
        'new_item_name' => __( 'Название новой категории аксессуаров' ),
        'menu_name' => __( 'Категории аксессуаров' ),
      );
    
      register_taxonomy('accessories', array('acsessuar'), array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'accessories' ),
      ));
    
    }
Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Как произвольному типу записи добавить свои собственные категории?» закрыта для новых ответов.