Wordpress:删除permaling /%category%/%postname%/中的一个类别

时间:2018-01-20 17:22:31

标签: wordpress

我正在寻找一个解决方案,以便从我的永久链接中删除/%category%/仅适用于一个类别(“general”)。

我的永久链接目前设置为/%category%/%postname%/。如何仅为“常规”类别/%postname%/?

创建以下URL

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以在永久链接设置中设置自定义结构:信息中心 - 设置>永久链接

答案 1 :(得分:0)

这对我有用:

  function remove_uncategorized( $permalink, $post, $leavename ) {
  if( $post->post_type != 'post' ) return $permalink;
  $cats = get_the_category($post->ID);
  if( ! count($cats) ) return $permalink;

  usort($cats, '_usort_terms_by_ID');
  $category_object = apply_filters( 'post_link_category', $cats[0], $cats, $post );

  $category_object = get_term( $category_object, 'category' );

  return _clear_uncategorized($category_object, $permalink);
}

function _clear_uncategorized($cat, $permalink) {
  if( $cat->slug == 'sin-categoria' ) {
    return str_replace('%category%/', '', $permalink);
  }
  $parent = $cat->parent;
  if ( !$parent )
    return $permalink;
  return _clear_uncategorized($parent, $permalink);
}

add_filter( 'pre_post_link', 'remove_uncategorized', 9, 3 );