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);
}