Invalid Taxonomy Fix
February 4, 2025 ยท AI Conversations
$args = array(
'label' => __('Owl Slider Images', 'avada'),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'supports' => array('title', 'thumbnail'), // Only title & featured image
'menu_icon' => 'dashicons-format-image',
);
register_post_type('owl_slider_image', $args);
}
add_action('init', 'avada_owlimage_post_type',80);
function avada_register_image_category_taxonomy() {
$args = array(
'label' => __('Image Categories', 'avada'),
'public' => true,
'hierarchical' => true, // Works like categories (true) or tags (false)
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'show_in_rest' => true,
'rewrite' => array('slug' => 'owlimgcat'),
);
register_taxonomy('owlimgcat', array('owl_slider_image'), $args);
}
add_action('init', 'avada_register_image_category_taxonomy',90);
after this get invalid taxonomy
### Possible Fix:
Try lowering the priority for registering the post type or increasing the priority for registering the taxonomy.
#### **Solution 1: Register Post Type Earlier**
Change the priority of the `init` action for the post type to **10** so that it gets executed earlier.
add_action('init', 'avada_owlimage_post_type', 10);
#### **Solution 2: Register Taxonomy Later**
Increase the priority of the taxonomy registration to **100** to ensure that the post type is fully registered before the taxonomy.
add_action('init', 'avada_register_image_category_taxonomy', 100);
—
### **Alternative Fix: Hook the Taxonomy Registration to `registered_post_type`**
Instead of `init`, you can use `registered_post_type` to ensure that the post type is already registered before the taxonomy is added.
function avada_register_image_category_taxonomy_after_post_type() {
register_taxonomy('owlimgcat', array('owl_slider_image'), array(
'label' => __('Image Categories', 'avada'),
'public' => true,
'hierarchical' => true,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'show_in_rest' => true,
'rewrite' => array('slug' => 'owlimgcat'),
));
}
add_action('registered_post_type', function($post_type) {
if ($post_type === 'owl_slider_image') {
avada_register_image_category_taxonomy_after_post_type();
}
});
This ensures that the taxonomy is only registered **after** the `owl_slider_image` post type has been registered.
—
### **Final Checks**
1. **Flush Permalinks:**
Go to **Settings โ Permalinks** in your WordPress dashboard and click **Save Changes** to flush rewrite rules.
2. **Check for Conflicting Plugins:**
Some plugins may deregister your post type or interfere with taxonomies.
3. **Ensure Your Theme Supports Taxonomies:**
Some themes override taxonomy behavior. Try switching to a default theme like Twenty Twenty-Four and check.
After making these changes, your taxonomy should register correctly without an "Invalid Taxonomy" error. ๐