I have created A custom post type as mentioned in my older question
When I try to use get_the_category() function to retrieve the category of the post(if it is symphony or noir). It returns "Array". How can I keep the posts under the two categories separate which do not interfere in the pagination of one category.
/*Custom post type 14K Gold and Silver*/
function my_custom_post_14kgs() {
$labels = array(
'name' => _x( '14k Gold & Silver', 'post type general name' ),
'singular_name' => _x( '14k Gold & Silver', 'post type singular name' ),
'add_new' => _x( 'Add New', 'book' ),
'add_new_item' => __( 'Add New Item' ),
'edit_item' => __( 'Modify Item' ),
'new_item' => __( 'New Item' ),
'all_items' => __( 'All Items' ),
'view_item' => __( 'View Item' ),
'search_items' => __( 'Search Items' ),
'not_found' => __( 'No Products found' ),
'not_found_in_trash' => __( 'No products found in trash' ),
'parent_item_colon' => '',
'menu_name' => '14k Gold & Silver'
);
$args = array(
'labels' => $labels,
'description' => '',
'public' => true,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
'has_archive' => true,
'hierarchical' => true,
'rewrite' => array('slug' => '14k-gold-silver/%14kgscollection%','with_front' => false),
'query_var' => true,
//'rewrite' => true,
//'publicly_queryable' => false,
);
register_post_type( '14kgs', $args );
}
add_action( 'init', 'my_custom_post_14kgs' );
function my_taxonomies_product_14kgs() {
$labels = array(
'name' => _x( '14kgscollection', 'taxonomy general name' ),
'singular_name' => _x( '14kgscollection', 'taxonomy singular name' ),
'search_items' => __( 'Search Product Categories' ),
'all_items' => __( 'All Product Categories' ),
'parent_item' => __( 'Parent Product Category' ),
'parent_item_colon' => __( 'Parent Product Category:' ),
'edit_item' => __( 'Edit Product Category' ),
'update_item' => __( 'Update Product Category' ),
'add_new_item' => __( 'Add New Product Category' ),
'new_item_name' => __( 'New Product Category' ),
'menu_name' => __( '14kgscollection' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'query_var' => '14kgscollection',
'rewrite' => array('slug' => '14k-gold-silver' ),
'_builtin' => false,
);
register_taxonomy( '14kgscollection', '14kgs', $args );
}
add_action( 'init', 'my_taxonomies_product_14kgs', 0 );
/*Filter permalink structure*/
add_filter('post_link', 'collection14kgs_permalink', 1, 3);
add_filter('post_type_link', 'collection14kgs_permalink', 1, 3);
function collection14kgs_permalink($permalink, $post_id, $leavename) {
if (strpos($permalink, '%14kgscollection%') === FALSE) return $permalink;
// Get post
$post = get_post($post_id);
if (!$post) return $permalink;
// Get taxonomy terms
$terms = wp_get_object_terms($post->ID, '14kgscollection');
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
$taxonomy_slug = $terms[0]->slug;
else $taxonomy_slug = 'no-collection';
return str_replace('%14kgscollection%', $taxonomy_slug, $permalink);
}
get_the_category
returns an array of categories, that's not unexpected. the documentation explains how to output them. I'm not sure what your question is otherwise though.