我想知道如果不为每个自定义分类术语创建分类术语页面,下面的设置是否可以更有效。
我正在使用课程(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模板文件,而不是分类术语页面,您必须为每个新添加的分类术语创建一个新的模板文件?
最合适的回答,由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模板文件。无需任何其他更具体的分类法模板文件,就可以很好地工作。