Как массово изменить количество постов и терминов на странице в админке?
На сайте много произвольных постов и таксономий. По дефолту в админке вордпресс отображает по 20 постов и по 20 категорий (терминов) на странице. Как можно изменить для всех разом, а не для каждого отдельно (для всех типов постов и для всех таксономий) это количество на произвольное?
для post_type нашел такой код
function my_edit_per_page( $result, $option, $user ) { return 100; } add_filter( 'get_user_option_edit_post_per_page', 'my_edit_per_page', 10, 3 ); // для стандартного типа постов add_filter( 'get_user_option_edit_photo_per_page', 'my_edit_per_page', 10, 3 ); // для типа photo
есть еще хук edit_{$post_type}_per_page, но вручную все типы перечислять неудобно.
для страниц с таксономиями ничего не нашел, хотя есть аналогичный хук edit_{$taxonomy}_per_page
вариантов кода с хуками edit_{$post_type}_per_page и edit_{$taxonomy}_per_page не нашел, но подозреваю что они будут такими же как и код вверху, т.е все нужно перечислять по-отдельности.
есть варианты?
Получить список типов постов get_post_types и через цикл их по этим хукам. Тоже самое с таксономиями - get_taxonomies.
В частности нужно сделать так:
И обрати внимание что есть другие хуки, не те что ты нашел. Твои хуки фильтруют опцию юзера получаемую из БД, но есил её там нет, то возомжно хук просто не сработает... Поэтому лучше использовать прямые хуки. Их в ядре оказало много:
спасибо, наверно, должно получиться, но массив $post_types оказывается пустым почему-то https://wp-kama.ru/function/get_post_types/comment-page-1#comment-18900
Я там ответил уже. Нельзя его совать прямо в functions.php - нужно вызывать из контекста. Повесь на хук, раз ты из functions.php вызываешь. Поправил код в комменте выше...