自定义发布类型、固定链接和层级结构

时间:2015-07-28 作者:Shahrukh Khan

基本上,我想用自定义的帖子类型创建一个自定义的继承人。我希望是这样。

主要品牌URL:http://localhost/brands/ 其中列出了不同类型的品牌。

个人品牌URL:http://localhost/brands/nike 显示品牌概述"nike" 以及该特定品牌客户制作的不同帖子类型的链接。

品牌库URL:http://localhost/brands/nike/gallery 这是自定义帖子类型的存档页"Gallery".

库URL:\'http://localhost/brands/nike/gallery/posttitlewhich displays the custom post tupe“库”`。

与自定义帖子类型类似"Information""Brochure" 链接应该是http://localhost/brands/nike/information/posttitlehttp://localhost/brands/nike/brochure/posttitle.

我已经实现了定制post类型的permalink的基本结构,但还没有弄清楚如何开发归档页面。

我想知道如何实现Achive页面-http://localhost/brands/http://localhost/brands/nike.

下面是自定义Post类型的permalink代码"gallery".

  add_action(\'init\', \'tdd_add_rewrite_rules\');
  function tdd_add_rewrite_rules(){
    global $wp_rewrite;
    $wp_rewrite->add_rewrite_tag(\'%brand_name%\', \'([^/]+)\', \'\');
    $wp_rewrite->add_permastruct(\'gallery\', \'/brands/%brand_name%/gallery/%gallery%\', false);
  }

  add_filter(\'post_type_link\', \'tdd_permalinks\', 10, 3); 
  function tdd_permalinks($permalink, $post, $leavename){ 
    $no_data = get_the_author_meta(\'ID\');;
    $post_id = $post->ID;
    if($post->post_type != \'gallery\' || empty($permalink) || in_array($post->post_status, array(\'draft\', \'pending\', \'auto-draft\'))) return $permalink;
    $var1 = get_the_author_meta(\'brand_name\');

  $var1 = sanitize_title($var1);
  if(!$var1) { $var1 = $no_data; }

  $permalink = str_replace(\'%brand_name%\', $var1, $permalink); 
  return $permalink; 
  }

1 个回复
SO网友:Shahrukh Khan

我的问题用解决了this link. 这很有帮助,而且很难找到。

function add_custom_query_var( $vars ){
  $vars[] = "brand_name";
  return $vars;
}
add_filter( \'query_vars\', \'add_custom_query_var\' );

function add_rewrite_rules($aRules) {
$aNewRules = array(\'brand/([^/]+)/?$\' => \'index.php?pagename=hotel&brand_name=$matches[1]\');
$aRules = $aNewRules + $aRules;
return $aRules;
}
add_filter(\'rewrite_rules_array\', \'add_rewrite_rules\');

结束

相关推荐

Pretty Permalinks

我创建了自己的搜索功能,基本上可以找到与输入的邮政编码最近的商店。我的搜索URL当前如下所示http://www.example.com/stores?searchTerm=London, 这并不是真正的SEO友好。我希望我的URL采用以下格式-http://www.example.com/stores/London, 然而,由于我缺乏WordPress URL重写工作的知识,我正在努力解决这个问题,希望能得到一些帮助来解决这个问题。Stores是一个循环显示结果的页面。如果有人对如何做到这一点有任何想法