I have a client that used to have a static website and a blog powered from WordPress under the /blog
subdirectory. Now he decided to move everything into WordPress so that he can also create and edit pages easily. However because the website is getting a lot of traffic and he already has likes, tweets and +1 in every blog post he wants to keep his blog under the website/blog
. I thought it was as easy as heading over the permalinks and add /blog/%postname%/
in the permalink structure.
What the problem is right now is that I have a created a few custom post types to accommodate the needs of his content and custom post type's content resides now under the blog virtual directory.
How can I specify that only the blog posts and the blog categories must be under the /blog virtual directory and everything else can use the permalink structure of /%postname%/.
This is my custom post type
register_post_type( 'vm_products',
array(
'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'New product' ), //in the horizontal bar when you are logged in.
'add_new' => __('Add new product'),
'add_new_item' => __('New product'),
'edit_item' => __('Edit product'),
'new_item' => __('New product'),
'view_item' => __('Show all products'),
'search_items' => __('Search product'),
'not_found' => __('No products found'),
'not_found_in_trash' => __('No products found in trash'),
'parent_item_colon' => '',
'menu_name' => 'Products'
),
'public' => true,
'has_archive' => true,
'show_in_menu' => true,
'show_ui' => true,
'supports' => array( 'title', 'custom-fields', 'editor', 'thumbnail'),
'rewrite' => array('slug' => 'product'),
'taxonomies' => array('vm_product_cats')
)
);
I have a client that used to have a static website and a blog powered from WordPress under the /blog
subdirectory. Now he decided to move everything into WordPress so that he can also create and edit pages easily. However because the website is getting a lot of traffic and he already has likes, tweets and +1 in every blog post he wants to keep his blog under the website/blog
. I thought it was as easy as heading over the permalinks and add /blog/%postname%/
in the permalink structure.
What the problem is right now is that I have a created a few custom post types to accommodate the needs of his content and custom post type's content resides now under the blog virtual directory.
How can I specify that only the blog posts and the blog categories must be under the /blog virtual directory and everything else can use the permalink structure of /%postname%/.
This is my custom post type
register_post_type( 'vm_products',
array(
'labels' => array(
'name' => __( 'Products' ),
'singular_name' => __( 'New product' ), //in the horizontal bar when you are logged in.
'add_new' => __('Add new product'),
'add_new_item' => __('New product'),
'edit_item' => __('Edit product'),
'new_item' => __('New product'),
'view_item' => __('Show all products'),
'search_items' => __('Search product'),
'not_found' => __('No products found'),
'not_found_in_trash' => __('No products found in trash'),
'parent_item_colon' => '',
'menu_name' => 'Products'
),
'public' => true,
'has_archive' => true,
'show_in_menu' => true,
'show_ui' => true,
'supports' => array( 'title', 'custom-fields', 'editor', 'thumbnail'),
'rewrite' => array('slug' => 'product'),
'taxonomies' => array('vm_product_cats')
)
);
Share
Improve this question
edited May 14, 2012 at 13:54
fuxia♦
107k39 gold badges255 silver badges459 bronze badges
asked May 14, 2012 at 13:03
nickastnickast
631 gold badge1 silver badge6 bronze badges
3
|
2 Answers
Reset to default 20Extend the 'rewrite'
argument to suppress the first URL part:
'rewrite' => array(
'with_front' => false,
'slug' => 'product'
)
But using just %postname%
for different post types is really tricky and error prone. Avoid it.
In case you are using MULTISITE, then you need to just set the field in settings page:
Remove the blog slug from Wordpress Multisite root node
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744795710a4594191.html
register_post_type
calledrewrite
that allows you set the permalink options. – Joseph Leedy Commented May 14, 2012 at 13:16