将标签/术语页面上的帖子数更改为10

时间:2017-02-04 17:00:59

标签: php wordpress function tags taxonomy-terms

我修改了我的搜索结果页面,其功能是将搜索结果计数更改为10.我怎样才能执行相同的操作,但是对于标记/术语页面?

function change_wp_search_size($query) {
    if ($query->is_search) // Make sure it is a search page
        $query->query_vars['posts_per_page'] = 10; // Change 10 to the number of posts you would like to show
    return $query; // Return our modified query variables
}

add_filter('pre_get_posts', 'change_wp_search_size'); // Hook our custom function onto the request filter

找到并尝试了此代码,但它没有工作

function main_query_mods($query) {
    // check http://codex.wordpress.org/Conditional_Tags to play with other queries
    if (!$query->is_main_query()) {
        return;
    }
    if (is_tag()) {
        $query->set('posts_per_page', 10);
    }
}

add_action('pre_get_posts', 'main_query_mods');

1 个答案:

答案 0 :(得分:0)

  

问题在于你的class Base(object): __metaclass__ = ABCMeta @abstractmethod def Foo(self): raise NotImplementedError @abstractmethod def Bar(self): raise NotImplementedError class Concrete(Base): def Foo(self): print 'Foo is implemented' >>> c = Concrete() Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> c = Concrete() TypeError: Can't instantiate abstract class Concrete with abstract methods Bar >>> ;你必须这样   is_tag()

$query->is_tag()

<小时/> <强>已更新

  

如果您想在function main_query_mods($query) { if ($query->is_tag() && $query->is_main_query() && !is_admin()) { $query->set('posts_per_page', 10); } } add_action('pre_get_posts', 'main_query_mods'); tag页面上将帖子限制为10,那么   您必须在search中一起使用is_tag()is_search()   言。

if

<小时/> 更新 v3

  

如果您要排除商店页面,则可以使用function wh_tag_search_postCount($query) { if (($query->is_tag() || $query->is_search()) && $query->is_main_query() && !is_admin()) { $query->set('posts_per_page', 10); } } add_action('pre_get_posts', 'wh_tag_search_postCount'); 和   is_shop()用于产品类别存档页面。

is_product_category()

所有代码都经过测试并且有效。
希望这有帮助!