WordPress

Pomoc z właściwym typem postu i taksonomią ierarchii przepisu

  • 28 kwietnia, 2024
  • 3 min read
Pomoc z właściwym typem postu i taksonomią ierarchii przepisu


Muszę stworzyć właściwą ierarchię. Ale przy moim ustawieniu otrzymuję 404. Jak mogę to zrobić za pomocą ustawień typu postu, taksonomii, reguły przepisywania? Czego potrzebuję: nazwa witryny/media/%posttype% — nazwa witryny/media/przepisy nazwa witryny/media/%posttype%/%tag% lub %kategoria% — nazwa witryny/media/przepisy/gorąca nazwa witryny/media/%posttype%/ nazwa_postu — nazwa witryny/media/przepisy/sos-hot-chili

Stworzyłem stronę nazwa_strony/media i dodałem regułę przepisywania, ale to nie pomogło i pojawia się problem, gdy dodaję regułę przepisywania do taksonomii dla /media/recipes/nazwa-kategorii

function create_recipe_post_type() {
    $labels = array(
        'name'               => _x( 'Рецепти', 'Тип записів Рецепти', 'root' ),
        'singular_name'      => __( 'Рецепт', 'root' ),
        'menu_name'          => __( 'Рецепти', 'root' ),
        'all_items'          => __( 'Всі рецепти', 'root' ),
        'view_item'          => __( 'Дивитись рецепт', 'root' ),
        'add_new_item'       => __( 'Додати новий рецепт', 'root' ),
        'add_new'            => __( 'Додати новий', 'root' ),
        'edit_item'          => __( 'Редагувати рецепт', 'root' ),
        'update_item'        => __( 'Оновити рецепт', 'root' ),
        'search_items'       => __( 'Шукати рецепт', 'root' ),
        'not_found'          => __( 'Рецептів не знайдено', 'root' ),
        'not_found_in_trash' => __( 'Не знайдено в кошику', 'root' ),
        // лейбли дял завантаження медіафайлів
        'insert_into_item'         => 'Вставити в рецепт',
        'uploaded_to_this_item'    => 'Завантажено для цього рецепта',
        'featured_image'           => 'Фото готової страви',
        'set_featured_image'       => 'Встановити фото страви',
        'remove_featured_image'    => 'Видалити фото страви',
        'use_featured_image'       => 'Використати як фото страви',
    );

    $args = array(
        'label'              => __( 'recipes', 'root' ),
        'description'        => __( 'Каталог рецептів', 'root' ),
        'labels'             => $labels,
        'supports'           => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        'taxonomies'         => array( 'recipe-categories', 'post_tag' ),
        'hierarchical'       => false,
        'rewrite' => array( 'slug' => 'media/recipes' ),
        'public'             => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'show_in_nav_menus'  => true,
        'show_in_admin_bar'  => true,
        'menu_position'      => 2,
        'can_export'         => true,
        'has_archive'        => true,
        'exclude_from_search' => false,
        'publicly_queryable' => true,
        'capability_type'    => 'page',
        'query_var'          => true,
        'menu_icon'          => 'dashicons-food',
    );

    register_post_type( 'recipes', $args );
    
    
        register_taxonomy( 'recipe-categories', array('recipes'), array(
            'label'                 => 'Категорії рецептів',
            'labels'                => array(
                'name'              => 'Категорії рецептів',
                'singular_name'     => 'Категорія',
                'search_items'      => 'Шукати категорію',
                'all_items'         => 'Всі категорії',
                'parent_item'       => 'Батьк. категоря',
                'parent_item_colon' => 'Батьк. категоря:',
                'edit_item'         => 'Редагувати категорію',
                'update_item'       => 'Оновити категорію',
                'add_new_item'      => 'Додати категорію',
                'new_item_name'     => 'Заголовок',
                'menu_name'         => 'Категорії рецептів',
            ),
                'description' => 'Категорії для рецептів',
                'public' => true,
                'show_in_nav_menus' => true,
                'show_ui' => true,
                'show_tagcloud' => false,
                'hierarchical' => true,
                'rewrite' => array( 'slug' => 'media/recipes/%recipe-categories%', 'hierarchical' => true ),
                'show_admin_column' => true,            
                'show_in_rest' => true,
                'publicly_queryable' => true,
            )
        );
}
add_action( 'init', 'create_recipe_post_type' );


Źródło

Warto przeczytać!  Przedstawiamy narzędzie do sprawdzania uszkodzonych linków - łatwe narzędzie do sprawdzania martwych linków do naprawy uszkodzonych linków w WordPress