根据自定义帖子类型术语ID,每页的帖子数量不同

时间:2021-05-17 作者:markw

试图从各种建议中拼凑出一个函数,该函数根据所讨论的自定义帖子类型类别设置每页的帖子数量。例如,一个;按字母顺序排列;类别包含3500多个帖子,因此我希望分页,但需要一个子类别“No No No modHFGen.dll;“A”;包含100篇文章,我想不分页显示它们。“的术语\\u id”;“A”;is 1858,代表;按字母顺序排列;是1853年。我可以在条件中检查特定的术语ID吗?当然不是这样,这只是猜测。。。

add_filter(\'pre_get_posts\', \'limit_change_posts_archive\');
function limit_change_posts_archive($query){
    if ( is_archive && is_tax( \'pdsh_categories\' ) && is_term( 1858 ) {
    $query->set(\'posts_per_page\', -1);
}
return $query;

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

您可以通过pre_get_posts. 对于当前代码,存在多个语法错误。你是这样写的

add_filter(\'pre_get_posts\', \'limit_change_posts_archive\');
function limit_change_posts_archive($query){
    if ( !is_admin() && $query->is_main_query() && is_archive() && is_tax( \'pdsh_categories\' ) && is_term( 1858 )) {
        $query->set(\'posts_per_page\', -1);
    }
    return $query;
}
作为is_term 不推荐使用另一种方法:

add_filter(\'pre_get_posts\', \'limit_change_posts_archive\');
function limit_change_posts_archive($query){
    if ( !is_admin() && $query->is_main_query() && is_archive() && is_tax( \'pdsh_categories\', 1858 )) {
        $query->set(\'posts_per_page\', -1);
    }
    return $query;
}
同样,需要测试上述代码。

相关推荐

Functions.php上未定义$_GET和&_REQUEST索引

我最近尝试学习为我的自定义主题创建一个主题选项页面,这是按照stackoverflow和其他资源的教程进行的。但脚本显示错误if ($_GET[\'page\'] == basename(__FILE__)) { if (\'save\' == $_REQUEST[\'formaction\']) { foreach ($options as $value) { if( isset( $_REQUEST[ $value[\'id\']