Nas Configurações de leitura, há lugar para definir o número de postagens mostradas que afeta o número de postagens exibidas em todos os contextos. Gostaria de mostrar um determinado número de postagens na página inicial e um número diferente de postagens em páginas como arquivamento, resultados de pesquisa etc.
Eu percebo que poderia fazer isso editando os arquivos de tema e alterando os parâmetros de consulta, mas prefiro ter acesso mais fácil a uma página de configurações simples. Há muito tempo, me deparei com um plug-in que fazia isso, mas não consigo localizá-lo agora.
Alguém sabe de um plugin para fazer isso, ou até mesmo uma função que eu poderia colocar em functions.php para realizar a mesma coisa?
Acredito que a melhor maneira de fazer isso em um plug-in é executar a seguinte função de amostra quando o gancho de ação pre_get_posts
for encontrado. O objeto $wp_query
está disponível, o que significa que suas tags condicionais estão disponíveis, mas antes que o WordPress obtenha as postagens, o que significa que você está alterando as consultas antes da primeira consulta ser executada, em vez de adicionar uma segunda consulta como quando query_posts () arquivo de tema.
function custom_posts_per_page($query) {
if (is_home()) {
$query->set('posts_per_page', 8);
}
if (is_search()) {
$query->set('posts_per_page', -1);
}
if (is_archive()) {
$query->set('posts_per_page', 25);
} //endif
} //function
//this adds the function above to the 'pre_get_posts' action
add_action('pre_get_posts', 'custom_posts_per_page');
você poderia fazer um loop personalizado usando query_posts e especificar o número de posts por is_home, is_archive, etc.
apenas uma declaração if simples, juntamente com query_posts