WordPress - 子类别重定向到第一个子帖子

时间:2014-05-14 14:44:54

标签: wordpress redirect

我一直在使用我在网上找到的一些代码片段来获取我自己的代码。我在我的网站上使用类别和子类别,其目的是将访问者从子类别页面重定向到该子类别内的最新帖子。

代码的第一部分(第一个函数)是检查类别是否实际上是子类别,如果是,则使用wp_redirect(第二个函数)。

我的代码适用于localhost但是当我以管理员身份登录时它不起作用(它与我的ubermenu插件冲突)并且如果我没有登录,那么它的工作正常。我认为我的代码已经过时了,因为所有插件在没有我的代码的情况下工作得很好。如果你们能把它看出来,我真的很感激。 :)

在这里,它当然放在functions.php中:

 // Subcategory redirect to first child post
function is_subcategory($category = null) {
    if (is_category()) {
        if (null != $category){
            $cat = get_category($category);
        }else{
            $cat = get_category(get_query_var('cat'),false);
        }
        if ($cat->parent == 0 ){
            return false;
        }else{
            return true;
        }
    }
    return false;
}

add_filter('wp_head', 'is_subcategory');


function subcategory (){

if ( is_subcategory() ) {
     $category = get_the_category();
$posts =  query_posts('showposts=1&cat='.$category[0]->cat_ID);
 if(have_posts()) :
    wp_redirect(get_permalink($post->ID));
endif;
}

}
add_filter('get_header', 'subcategory');

1 个答案:

答案 0 :(得分:0)

 // Subcategory redirect to first child post
function is_subcategory($category = null) {
    if (is_category()) {
        if (null != $category){
            $cat = get_category($category);
        }else{
            $cat = get_category(get_query_var('cat'),false);
        }
        if ($cat->parent == 0 ){
            return false;
        }else{
            return true;
        }
    }
    return false;
}

add_filter('wp_head', 'is_subcategory');


function subcategory (){

if ( is_subcategory() ) {
     $category = get_the_category();
$posts =  query_posts('showposts=1&cat='.$category[0]->cat_ID);
 if(have_posts()) :
    wp_redirect(get_permalink($post->ID));
endif;
}

}
add_filter('get_header', 'subcategory');