如何让分类页面看起来像某个存档页面?

时间:2013-11-22 作者:user32447

我不确定这个问题是否得到了回答,我甚至不确定我应该如何措辞这个问题,但。。。

我有一个自定义的帖子类型,称为视频,存档的样式与类别存档不同。

对于这个帖子类型,我有类别视频和子/子类别;例如:

视频-音乐视频-艺术家组-独唱艺术家-访谈-表演-艺术家组-独唱艺术家-其他

现在,我如何使这些类别具有与Video Post类型归档相同的样式,而不必为每个类别创建不同的php文件。

或者我必须为视频类别创建一个php文件吗?但如果我必须这样做,那么我如何才能让这些类别采用该归档的风格呢?

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

你可以通过a filter on category_template. 这将符合你的主题functions.php 文件请参阅代码中的注释以了解其作用的说明:

function video_category_archive( $template = \'\' ){
    // your parent video category ID
    // ( change this to your actual video category ID )
    $video_cat_id = 42;
    // get the ID of the current category being viewed
    $cat_id = get_queried_object_id();
    // get the IDs of the ancestors of this category
    $ancestors = get_ancestors( $cat_id, \'category\' );
    // if this category is a child of the video category,
    // or if this is the parent video category,
    // load the post type archive template
    // instead of the normal category template
    // ( change archive-video.php to the name of the template you want to load )
    if( in_array ( $video_cat_id, $ancestors )
        || $cat_id == $video_cat_id ){
        $template = locate_template( array( \'archive-video.php\' ) );
    }
    return $template;
}
add_filter( \'category_template\', \'video_category_archive\' );

结束

相关推荐

“不建议使用不带边栏.php的主题”

我正在构建一个自定义wordpress主题。打开“调试”时,会收到以下消息:注意:主题没有侧边栏。自3.0版以来,php已被弃用,没有可用的替代方案。请包括侧边栏。主题中的php模板。在/var/www/wp2/wp中包含/functions。php在线2968然而,我有侧边栏。php在我的主题中。它是从wp includes/theme compat复制和未编辑的我做错了什么?