• Здравствуйте. Создал в своей теме функцию произвольных типов записей:

    add_action('init', 'playlist');
    function playlist(){
    	register_post_type('playlist', array(
    		'public' => true,
    	));
    };

    Однако есть необходимость выставить количество отображаемых записей на странице (например 4 записи на одной странице). Собственно такая настройка есть в параметрах WP, но она устанавливает количество для всех произвольных типов записей, а в моем случае необходимо, чтобы каждый произвольный тип записей не зависил от данной настройки и отображал собственное количество записей на странице!

    • Тема изменена 8 лет, 4 месяца назад пользователем LLIypuk.
Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Здравствуйте.

    
    add_action('pre_get_posts', 'alter_query');
    
    function alter_query($query) {
        if (!is_admin() && $query->is_main_query()) {
            if ($query->is_archive && $query->is_post_type_archive('playlist')) {
                $query->set('posts_per_page', 10);
            }
    
            if ($query->is_archive && $query->is_post_type_archive('playlist2')) {
                $query->set('posts_per_page', 15);
            }
        }
    }
    

    К сожалению код не сработал. Попробовал еще вот так использовать код:

    add_action('pre_get_posts', 'alter_query');
    function alter_query($query) {
        if (!is_admin() && $query->is_main_query() && $query->is_archive && $query->is_post_type_archive('здфндшые') ) {
                $query->set('posts_per_page', 1);
        }
    }

    Но так тоже не работает.
    Вообщем как я понял изменить количество записей можно через хук «pre_get_posts» буду искать информацию в поиске по нему.

    Решил проблему добавлением posts_per_page в массив произвольного типа записи, который создан с помощью register_post_type.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Количество записей на странице у произвольных типов записей!» закрыта для новых ответов.