Example 1: custom post type with taxonomy
add_action( 'init', 'create_topics_hierarchical_taxonomy', 0 );
function create_topics_hierarchical_taxonomy() {
$labels = array(
'name' => _x( 'Topics', 'taxonomy general name' ),
'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
'search_items' => __( 'Search Topics' ),
'all_items' => __( 'All Topics' ),
'parent_item' => __( 'Parent Topic' ),
'parent_item_colon' => __( 'Parent Topic:' ),
'edit_item' => __( 'Edit Topic' ),
'update_item' => __( 'Update Topic' ),
'add_new_item' => __( 'Add New Topic' ),
'new_item_name' => __( 'New Topic Name' ),
'menu_name' => __( 'Topics' ),
);
register_taxonomy('topics',array('post'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),
));
}
Example 2: get taxonomies for custom post type
$taxonomies = get_taxonomies(['object_type' => ['your_post_type']])
Example 3: create custom post type with category in wordpress functions.php
function create_posttype() {
register_post_type( 'wpll_product',
array(
'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'Product' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'products'),
)
);
}
add_action( 'init', 'create_posttype' );
Example 4: wp+create custom post type and category
add_action( 'init', 'create_news' );
function create_news ()
{
register_post_type( 'ecommerces',
array(
'labels' => array(
'name' => __( 'Ecommerces' ),
'singular_name' => __( 'Ecommerce' )
),
'public' => true,
'supports' => array ('title', 'editor', 'thumbnail')
)
);
register_taxonomy(
'ecommerce_cat',
'ecommerces',
array(
'labels' => array(
'name' => 'Ecommerce Categories',
'add_new_item' => 'Add New Ecommerce Category',
'new_item_name' => "New Ecommerce Category"
),
'show_ui' => true,
'show_tagcloud' => false,
'hierarchical' => true,
'hasArchive' => true
)
);
}
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 100, 100, true );
}
?>