Cutstom Post Type / Custom Taxonomy Permalinks renders 404 page
-
I have three types of custom post types and three types taxonomies created for each of them respectively.
My permalinks all load correctly , in terms of structure.However when i load the page it goes to 404 page.
please help. code below
add_action( 'init', 'cptui_register_my_cpts' ); function cptui_register_my_cpts() { $labels = array( "name" => __( 'Events', '' ), "singular_name" => __( 'event', '' ), "menu_name" => __( 'Events', '' ), ); $args = array( "label" => __( 'Events', '' ), "labels" => $labels, "description" => "", "public" => true, "show_ui" => true, "show_in_rest" => true, "rest_base" => "events", "has_archive" => 'events', "show_in_menu" => true, "exclude_from_search" => false, "capability_type" => "post", "map_meta_cap" => true, "hierarchical" => false, "rewrite" => array( "slug" => "events/%events_type%", "with_front" => true ), "query_var" => true, "menu_position" => 5,"menu_icon" => "dashicons-calendar-alt", "supports" => array( "title", "editor", "thumbnail", "excerpt", "trackbacks", "custom-fields", "comments", "revisions", "author", "page-attributes" ), "taxonomies" => array( "post_tag" ), ); register_post_type( "events", $args ); // End of cptui_register_my_cpts() } add_action( 'init', 'cptui_register_my_taxes' ); function cptui_register_my_taxes() { $labels = array( "name" => __( 'Event Categories', '' ), "singular_name" => __( 'event-category', '' ), "menu_name" => __( 'Event Categories', '' ), "all_items" => __( 'All Event Categories', '' ), ); $args = array( "label" => __( 'Event Categories', '' ), "labels" => $labels, "public" => true, "hierarchical" => true, "label" => "Event Categories", "show_ui" => true, "query_var" => true, "rewrite" => array( 'slug' => 'events', 'with_front' => false , 'hierarchical' => false ), "show_admin_column" => true, "show_in_rest" => true, "rest_base" => "", "show_in_quick_edit" => false, ); register_taxonomy( "event-categories", array( "events" ), $args ); } add_filter('post_type_link', 'brand_permalink', 10, 4); function brand_permalink($permalink, $post_id, $leavename,$sample) { $custom_post_type_taxonomy_mapping = [ 'events_type' => 'event-categories' , $post_type_final = false; foreach($custom_post_type_taxonomy_mapping as $post_type => $post_taxonomy){ $check = '%'.$post_type.'%'; //search by custom post type if (strpos($permalink, $check)==false){ continue; }else{ $post_type_final = $post_type; } } if(!$post_type_final) return $permalink; // Get post $post = get_post($post_id); if (!$post) return $permalink; // Get taxonomy terms $terms = wp_get_object_terms($post->ID, $custom_post_type_taxonomy_mapping[$post_type_final]); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])){ $taxonomy_slug = $terms[0]->slug; } else { return str_replace('%'.$post_type_final.'%/', '', $permalink); } return str_replace('%'.$post_type_final.'%', $taxonomy_slug, $permalink); }
Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
- The topic ‘Cutstom Post Type / Custom Taxonomy Permalinks renders 404 page’ is closed to new replies.