设置分类术语模板页面

时间:2016-07-08 作者:NielsPilon

我想知道如果不为每个自定义分类术语创建分类术语页面,下面的设置是否可以更有效。

我正在使用课程(CPT),它有自己的分类法(课程类型)。

现在我有一个归档模板,它按分类法列出了所有CPT。我还为每个分类术语提供了多个分类术语模板,如:

分类学课程类型英语。php分类法课程类型法语。php分类课程类型西班牙语。这些模板文件使用wp\\u查询循环来显示给定分类术语中的每个帖子。例如:

<?php $args = array(
     \'posts_per_page\' => -1,
     \'post_type\' => \'courses\',
     \'orderby\' => \'date\',
     \'tax_query\' => array(
                      array(
                 \'taxonomy\' => \'course-type\',
                 \'field\'    => \'slug\',
                \'terms\'    => \'french\',
                ),
            ),
         );
分类法课程类型。php模板文件列出了使用默认循环时分类法中的所有帖子。

没有办法使用分类法课程类型吗。php模板文件,而不是分类术语页面,您必须为每个新添加的分类术语创建一个新的模板文件?

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

将此操作挂钩添加到我的函数中。php文件:

add_action( \'pre_get_posts\', function ( $q )
{
if (    !is_admin() // Only target the front end queries
     && $q->is_main_query() // Targets the main query only
     && $q->is_tax(\'course-type\') // Only target category pages
) {
    $q->set( \'posts_per_page\', -1 );
      }
});
然后对分类法课程类型使用默认循环。php模板文件。无需任何其他更具体的分类法模板文件,就可以很好地工作。