将类别添加到帖子固定链接

时间:2016-10-12 作者:Yoona

我想知道的是,类别是否为“news”add/news event/before it。

更新:尚未生效。

多亏了@jas,我想这段代码可以做到,但我想我需要重写规则才能让它工作,我不擅长regex,所以我不知道怎么做,这是我迄今为止尝试过的。

  add_filter( \'post_link\', \'custom_permalink\', 10, 3 );
  function custom_permalink( $permalink, $post, $leavename ) {

// Get the categories for the post
 $category = get_the_category($post->ID);
 if (  !empty($category) && $category[0]->cat_name == "news" ) {
    $permalink = trailingslashit( home_url(\'news-events/\' . $category. \'/\' . $post->post_name .\'/\' ) );
 }
return $permalink;
}

 function rewrite_rules( $wp_rewrite ) {
     $new_rules[\'news-events/^news/([^/]+)/?\'] = \'index.php?name=$matches[1]\'; //change \'test\' to your category slug
     $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
    return $wp_rewrite;
 }
  add_action(\'generate_rewrite_rules\', \'rewrite_rules\'); 
我的网站有这样的永久链接结构“site.com/en/postname1”,我有帖子类别“category1,category2,…”我想将我的帖子分类改为“site.com/en/category1/custom-text/postname1或site.com/en/category2/custom-text/postname2”。有可能吗?请帮帮我。

1 个回复
最合适的回答,由SO网友:jas 整理而成

请转到Settings > Permalinks. 看看Permalinks 第页了解其他可能性。

对于您,我认为您需要使用:

/%category%/%postname%
希望这有帮助!

UPDATE :

对于基于类别的附加段塞:

add_filter( \'post_link\', \'custom_permalink\', 10, 3 );
function custom_permalink( $permalink, $post, $leavename ) {

    // Get the categories for the post
    $category = get_the_category($post->ID);
  if (  !empty($category) && $category[0]->cat_name == "news" ) {
        $permalink = trailingslashit( home_url(\'news/\'. $post->post_name .\'/\' ) );
  }
    return $permalink;
}
请根据要求调整以上代码,如需更多详细信息,请遵循this answerthis page

相关推荐

Force pretty permalinks?

我正在构建一个插件,该插件将用于单个站点,并依赖于add_rewrite_rule 要工作,需要打开永久链接。打开它们并不困难,因为它只是一个站点,但我担心其中一个管理员可能会在不知道自己在做什么的情况下关闭它,并破坏该站点。如何以编程方式强制保持漂亮的永久链接?