Title: Permalinks for Custom Post
Last modified: August 30, 2016

---

# Permalinks for Custom Post

 *  [Andrew Schultz](https://wordpress.org/support/users/tabboy/)
 * (@tabboy)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/permalinks-for-custom-post/)
 * I am trying to get my permalinks to be in this format for my custom post type
 * [http://localhost/trade/trade-category/post-name/post-id](http://localhost/trade/trade-category/post-name/post-id)
 * trade = custom post type
    trade-category = custom taxonomy post-name = title(
   slug) of the post post-id = id of the post
 * With the code I have I get this permalink format
 * [http://localhost/trade/trade-category/post-id/post-name](http://localhost/trade/trade-category/post-id/post-name)
 * I want the post-id on the end of the permalink.
 * Here is my code
 *     ```
       function tadl_create_trade_posttype() {
   
       	register_post_type( 'trade',
       		array(
       			'labels' => array(
       				'name' => __( 'Trades' ),
       				'singular_name' => __( 'Trade' )
       			),
       			'public' => true,
       			'has_archive' => true,
       			'rewrite'		=> array('slug' => 'trade/%trade-category%/%post_id%','with_front' => false),
       			'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'comments' )
       		)
       	);
       }
   
       add_action( 'init', 'tadl_create_trade_posttype' );
   
       function tadl_taxonomies_trade() {
         $labels = array(
           'name'              => _x( 'Trade Categories', 'taxonomy general name' ),
           'singular_name'     => _x( 'Trade Category', 'taxonomy singular name' ),
           'search_items'      => __( 'Search Trade Categories' ),
           'all_items'         => __( 'All Trade Categories' ),
           'parent_item'       => __( 'Parent Trade Category' ),
           'parent_item_colon' => __( 'Parent Trade Category:' ),
           'edit_item'         => __( 'Edit Trade Category' ),
           'update_item'       => __( 'Update Trade Category' ),
           'add_new_item'      => __( 'Add New Trade Category' ),
           'new_item_name'     => __( 'New Trade Category' ),
           'menu_name'         => __( 'Trade Categories' ),
         );
   
         $args = array(
           'labels' => $labels,
           'hierarchical' => true,
       	'rewrite' => array('slug' => 'trade'),
       	'_builtin'		=> false,
         );
   
         register_taxonomy( 'trade-category', 'trade', $args );
       }
   
       add_action( 'init', 'tadl_taxonomies_trade', 0 );
   
       add_filter('post_link', 'trade_permalink', 1, 3);
       add_filter('post_type_link', 'trade_permalink', 1, 3);
   
       function trade_permalink($permalink, $post_id, $leavename) {
       	global $wp_rewrite;
   
       	if(get_post_type() == 'trade') {
       		write_log($permalink);
       		if (strpos($permalink, '%trade-category%') === FALSE)
       			return $permalink;
   
       		$post = get_post($post_id);
   
       		if (!$post)
       			return $permalink;
   
       		$terms = wp_get_object_terms($post->ID, 'trade-category');
   
       		if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
       			$taxonomy_slug = $terms[0]->slug;
       		else
       			$taxonomy_slug = 'no-trade-category';
   
       		$permalink = str_replace('%trade-category%', $taxonomy_slug, $permalink);
   
       		//$permalink = str_replace('%postname%', $post->post_name, $permalink);
   
       		if ( $wp_rewrite->use_trailing_slashes )
       			return trailingslashit(str_replace('%post_id%', $post->ID, $permalink));
       		else
       			return untrailingslashit(str_replace('%post_id%', $post->ID, $permalink));
   
       	}
   
       	return $permalink;
       }
       ```
   

The topic ‘Permalinks for Custom Post’ is closed to new replies.

## Tags

 * [custom](https://wordpress.org/support/topic-tag/custom/)
 * [permalink](https://wordpress.org/support/topic-tag/permalink/)
 * [posttype](https://wordpress.org/support/topic-tag/posttype/)
 * [Post_ID](https://wordpress.org/support/topic-tag/post_id/)

 * 0 replies
 * 1 participant
 * Last reply from: [Andrew Schultz](https://wordpress.org/support/users/tabboy/)
 * Last activity: [10 years, 8 months ago](https://wordpress.org/support/topic/permalinks-for-custom-post/)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
