Intereting Posts
Получить сообщение, прикрепленное к прикрепленному изображению Значения пользовательских сообщений в пользовательском обзоре сообщений Таксономический запрос для детей родителей Подробнее в фактической выдержке Добавление поддержки языка с использованием файлов .pot и .mo в WordPress Theme? Как передача может быть настолько большой при экспорте данных (от 15-16 МБ до более 10 ГБ) Переписывание URL-адресов изображений с динамического на оригинальное липкие сообщения теперь показывают, если фильтр WP_Query автор добавить значение к запросу внешней ссылки в форме поиска Как подключить wp_list_pages? Добавить изображение в моей теме? Создайте точку изображения для размещения URL-адреса вместо страницы вложения Сортировка записей по дате, смешивающих два типа сообщений Как получить данные входа (сеанс) за пределами WordPress? remove_action в файле плагина

Gettind 404 не найден wen нажмите кнопку просмотра для определенного типа пользовательского типа почтового типа

Я создал пользовательский тип портфолио и пользовательские категории. Все работает нормально, как и ожидалось, однако, когда я нажимаю на категории пользовательских типов сообщений и нажимаю кнопку просмотра для данной категории, страница, которая появляется, не перечисляет результаты eror 404. Например, если тип сообщения является «портфолио», и категория «веб-дизайн». Когда я нажимаю кнопку просмотра для этой категории, я подозреваю, что вижу страницу со всем сообщением веб-дизайна …

Не уверен, что я делаю неправильно здесь.

Создайте код с помощью http://generatewp.com/

// Register Custom Post Type 

function portfolio_post_type () {

 $labels = array( 'name' => _x( 'Portfolios', 'Post Type General Name', 'owd' ), 'singular_name' => _x( 'Portfolio', 'Post Type Singular Name', 'owd' ), 'menu_name' => __( 'Portfolio', 'owd' ), 'parent_item_colon' => __( 'Parent Portfolio:', 'owd' ), 'all_items' => __( 'All Portfolios', 'owd' ), 'view_item' => __( 'View Portfolio', 'owd' ), 'add_new_item' => __( 'Add New Portfolio', 'owd' ), 'add_new' => __( 'New Portfolio', 'owd' ), 'edit_item' => __( 'Edit Portfolio', 'owd' ), 'update_item' => __( 'Update Portfolio', 'owd' ), 'search_items' => __( 'Search portfolios', 'owd' ), 'not_found' => __( 'No portfolios found', 'owd' ), 'not_found_in_trash' => __( 'No portfolios found in Trash', 'owd' ), ); $args = array( 'label' => __( 'portfolio', 'owd' ), 'description' => __( 'Portfolio information pages', 'owd' ), 'labels' => $labels, 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'custom-fields', ), 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'menu_icon' => get_stylesheet_directory_uri() . '/images/portfolio.png', 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'page', ); register_post_type( 'portfolio', $args ); flush_rewrite_rules(); // http://dreamdare.org/tips-tricks/how-to-fix-wordpress-custom-post-type-permalink-404-error/ 

} add_action ('init', 'portfolio_post_type', 0);

// Зарегистрировать функцию пользовательской таксономии custom_taxonomy_portfolio () {

 $labels = array( 'name' => _x( 'Portfolio Categories', 'Taxonomy General Name', 'owd' ), 'singular_name' => _x( 'Portfolio Category', 'Taxonomy Singular Name', 'owd' ), 'menu_name' => __( 'Portfolio Category', 'owd' ), 'all_items' => __( 'All Portfolio Category', 'owd' ), 'parent_item' => __( 'Portfolio Category', 'owd' ), 'parent_item_colon' => __( 'Parent Portfolio Category:', 'owd' ), 'new_item_name' => __( 'New Portfolio Category', 'owd' ), 'add_new_item' => __( 'Add Portfolio Category', 'owd' ), 'edit_item' => __( 'Edit Portfolio Category', 'owd' ), 'update_item' => __( 'Update Portfolio Category', 'owd' ), 'separate_items_with_commas' => __( 'Separate portfolio categories with commas', 'owd' ), 'search_items' => __( 'Search Portfolio Category', 'owd' ), 'add_or_remove_items' => __( 'Add or remove Portfolio Category', 'owd' ), 'choose_from_most_used' => __( 'Choose from the most used portfolio category', 'owd' ), 'not_found' => __( 'Not Found Portfolio Category', 'owd' ), ); $rewrite = array( 'slug' => 'portfolio', 'with_front' => false, 'hierarchical' => true, ); $capabilities = array( 'manage_terms' => 'manage_categories', 'edit_terms' => 'manage_categories', 'delete_terms' => 'manage_categories', 'assign_terms' => 'edit_posts', ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, 'rewrite' => $rewrite, 'capabilities' => $capabilities, ); register_taxonomy( 'portfolio_category', array( 'portfolio' ), $args ); 

} // Захватываем действие 'init' add_action ('init', 'custom_taxonomy_portfolio', 0);

У меня есть archive-portfolio.php и taxonomy-portfolio_category.php

Существует конфликт с таксономией и слизью. Вы придерживаетесь обоих.

Есть два варианта: 1) Либо удалить rewrite => $rewrite из массива таксономии и сделать это так

 $labels = array( 'name' => _x( 'Portfolio Categories', 'Taxonomy General Name', 'owd' ), 'singular_name' => _x( 'Portfolio Category', 'Taxonomy Singular Name', 'owd' ), 'menu_name' => __( 'Portfolio Category', 'owd' ), 'all_items' => __( 'All Portfolio Category', 'owd' ), 'parent_item' => __( 'Portfolio Category', 'owd' ), 'parent_item_colon' => __( 'Parent Portfolio Category:', 'owd' ), 'new_item_name' => __( 'New Portfolio Category', 'owd' ), 'add_new_item' => __( 'Add Portfolio Category', 'owd' ), 'edit_item' => __( 'Edit Portfolio Category', 'owd' ), 'update_item' => __( 'Update Portfolio Category', 'owd' ), 'separate_items_with_commas' => __( 'Separate portfolio categories with commas', 'owd' ), 'search_items' => __( 'Search Portfolio Category', 'owd' ), 'add_or_remove_items' => __( 'Add or remove Portfolio Category', 'owd' ), 'choose_from_most_used' => __( 'Choose from the most used portfolio category', 'owd' ), 'not_found' => __( 'Not Found Portfolio Category', 'owd' ), ); $capabilities = array( 'manage_terms' => 'manage_categories', 'edit_terms' => 'manage_categories', 'delete_terms' => 'manage_categories', 'assign_terms' => 'edit_posts', ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, //Removed rewrite from here 'capabilities' => $capabilities, ); register_taxonomy( 'portfolio_category', array( 'portfolio' ), $args ); 

или 2) переименуйте свою таксономию в другое, но не портфолио.

 $rewrite = array( 'slug' => 'my_portfolio', //Changed from portfolio to my_portfolio 'with_front' => false, 'hierarchical' => true, ); 

Также удалите flush_rewrite_rules(); от вашего кода. А после обновления кода просто зайдите в settings > permalinks которые сохранят все ваши настройки. Зачем вызывать ненужную функцию снова и снова всякий раз, когда вызывается функция functions.php. С другой стороны, это не называется в нужном месте. Лучше удалять и посещать страницы settings>permalinks всякий раз, когда вы редактируете настраиваемый тип сообщений.