ngreenwood6
ngreenwood6

Reputation: 8216

Changing permalink to custom post type

I am trying to get my permalink to be something like this:

http://example.com/projects/1234

By default it is looking like this:

http://example.com/projects/title

I tried setting the "slug" to "projects/%post_id%" but then it looked like this:

http://example.com/projects/%post_id%/title

Is there a way to set the slug to my custom slug "/" the id for the post? Any help is appreciated.

Upvotes: 0

Views: 533

Answers (2)

HandiworkNYC.com
HandiworkNYC.com

Reputation: 11104

A gift from me to you: Just replace "property" with the name of your custom post type. Goes in your theme's functions.php

add_filter('post_type_link', 'property_post_type_link', 1, 3);

function property_post_type_link( $link, $post = 0 ){
    if ( $post->post_type == 'property' ){
        return home_url( 'property/' . $post->ID );
    } else {
        return $link;
    }
}

add_action( 'init', 'property_rewrites_init' );

function property_rewrites_init(){
    add_rewrite_rule(
        'property/([0-9]+)?$',
        'index.php?post_type=property&p=$matches[1]',
        'top' );
}

Upvotes: 1

noponies
noponies

Reputation: 2726

Is 'projects' a category or tag etc?

Something like the below should work if projects is a category or tag.

/%category%/%post_id%/

Upvotes: 0

Related Questions