Wordpress更改了两个类别的永久链接

时间:2015-06-30 08:18:14

标签: php wordpress

我的Wordpress固定链接结构是/%postname%/我想更改两个不同类别的帖子。这是代码:

/* Rewriting permalink structure for posts in category 'Blog' */
add_filter( 'post_link', 'custom_permalink', 10, 2 );
function custom_permalink( $permalink, $post ) {
// Get the categories for the post
  $categories = wp_get_post_categories( $post->ID );
  foreach ( $categories as $cat ) {
    $post_cat    = get_category( $cat );
    $post_cats[] = $post_cat->slug;
  }

// Check if the post have 'blog' category
// Assuming that your 'Blog' category slug is 'blog'
// Change 'blog' to match yours
if ( in_array( 'blog',$post_cats ) ) {
    $permalink = trailingslashit( home_url( 'blog/' .  $post->post_name ) );
}
return $permalink;
}

 add_filter( 'rewrite_rules_array', 'custom_rewrite_rule' );
function custom_rewrite_rule( $rules ) {
  $new_rules = array(
    'blog/([^/]+)/trackback/?$' => 'index.php?name=$matches[1]&tb=1',
    'blog/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?name=$matches[1]&feed=$matches[2]',
    'blog/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?name=$matches[1]&feed=$matches[2]',
    'blog/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?name=$matches[1]&cpage=$matches[2]',
    'blog/([^/]+)(/[0-9]+)?/?$' => 'index.php?name=$matches[1]&page=$matches[2]'
  );

$rules = $new_rules + $rules;
return $rules;
}

它适用于第一类,但是当我在functions.php中对第二类使用相同的代码时,该网站未正确加载,显示空白页面。它就像只为其中一个人工作,而不是同时工作。这很奇怪。

有什么想法吗?

0 个答案:

没有答案