在帖子的永久链接中包含父页面slug

时间:2014-11-26 05:54:37

标签: wordpress url-rewriting permalinks

我创建了一个名为Blog的页面,并将其设置为wordpress settings中的博客帖子页面。当我创建帖子并发布url结构时就像

mysite.com/postname

我希望它像

mysite.com/blog/postname

所以我将自定义永久链接结构编辑为

mysite.com/blog/%postname%/

哪个有效。但我有另一个名为工作的自定义帖子类型 现在,工作的permlink结构就像

mysite.com/blog/work/workname

mysite.com/work/workname

在我编辑固定链接自定义结构之前。

是否有任何帮助,使它成为我想要的方式。我...

mysite.com/blog/postname

&安培;

 mysite.com/work/workname

请帮助谢谢!!

修改

我的网站是

http://jointviews.com/blog/work/best-school-bus-tracking-system/

http://jointviews.com/blog/building-long-term-relationships-with-customers-using-digital-media/

我已将帖子类型注册如下

function work_register() {   

$labels = array( 
    'name' => _x('Work', 'post type general name'), 
    'singular_name' => _x('Work Item', 'post type singular name'), 
    'add_new' => _x('Add New', 'work item'), 
    'add_new_item' => __('Add New Work Item'), 
    'edit_item' => __('Edit Work Item'), 
    'new_item' => __('New Work Item'), 
    'view_item' => __('View Work Item'), 
    'search_items' => __('Search Work'), 
    'not_found' => __('Nothing found'), 
    'not_found_in_trash' => __('Nothing found in Trash'), 
    'parent_item_colon' => '' 
);   

$args = array( 
    'labels' => $labels, 
    'public' => true, 
    'publicly_queryable' => true, 
    'show_ui' => true, 
    'query_var' => true, 
    'menu_icon' => get_stylesheet_directory_uri() . '/article16.png', 
    'rewrite' => true, 'capability_type' => 'post', 
    'hierarchical' => true, 
    'menu_position' => null, 
    'supports' => array('title','editor','thumbnail') 
);   

register_post_type( 'work' , $args ); 

//register_taxonomy("categories", array("work"), array("hierarchical" => true, "label" => "Categories", "singular_label" => "Category", "rewrite" => true));



}

2 个答案:

答案 0 :(得分:3)

你完美地开始并且离工作解决方案不远,所有你需要做的就是改变你注册工作的方式" CPT,你需要改变这样的重写:

'rewrite' => array( 'slug' => 'work', 'with_front'=> false ),

它的工作方式是:如果你的永久链接结构是/ blog /,那么你的链接将是: 如果with_front = false永久链接:/ news / 如果with_front = true永久链接:/ blog / news /

问题是它默认为true

具有此信息的wordpress codex页面为here

你还需要注意的是: 如果在插件内注册帖子类型,请在激活和取消激活挂钩中调用flush_rewrite_rules()(请参阅下面的Flushing Rewrite on Activation)。如果未使用flush_rewrite_rules(),则必须手动转到设置>永久链接并刷新永久链接结构,然后自定义帖子类型将显示正确的结构。

答案 1 :(得分:1)

使用Custom Post Type Permalinks插件分别手动调整自定义帖子类型的永久链接结构。

将正常永久链接结构保留为/blog/%postname%/,并为自定义帖子类型/work/%postname%/制作结构。

确保您的自定义帖子类型将has_archive设置为true,否则它将无效。