Todos sabemos que
ignore_sticky_posts
é utilizado para excluir postagens fixas da sua consulta personalizada.
- Não, essa suposição está errada.
Qual ignore_sticky_posts
significa:
Mesmo em inglês natural, ignore_sticky_posts
parece que o WordPress deve ignorar todas as postagens da consulta, o que, na realidade, não é o que o WordPress faz. Em vez disso, você deve ler o argumento 'ignore_sticky_posts' => 1
da seguinte maneira:
Quando
ignore_sticky_posts
é definido comotrue
ou1
, o WordPress ignorará o procedimento de definir as postagens fixas na sua consulta personalizada.
O que o WordPress faz quando ignore_sticky_posts
não está definido:
Para entender claramente o que o 'ignore_sticky_posts' => 1
faz, você precisa entender o que o WordPress faz quando o argumento ignore_sticky_posts
não está definido ou está definido como false
ou 0
(por padrão):
-
Se houver postagens no resultado da consulta que façam parte das postagens do aplicativo, o WordPress as enviará para o topo do resultado da consulta.
-
Se alguma postagem fixa não estiver presente no resultado da consulta, o WordPress recuperará todas as postagens do banco de dados novamente e as colocará no topo do resultado da consulta.
Assim, quando o argumento é definido como 'ignore_sticky_posts' => 1
, o WordPress simplesmente ignora o procedimento acima , isso é tudo. Isso não os exclui especificamente. Para isso, você precisa definir o argumento post__not_in
.
Explicação do exemplo do códice:
Agora, vamos ao exemplo do códice:
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' ),
'ignore_sticky_posts' => 1
);
$query = new WP_Query( $args );
Aqui, o codex está apenas definindo 'ignore_sticky_posts' => 1
para ser eficiente, nada mais . Mesmo sem tê-lo, você obterá o mesmo resultado esperado:
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' )
);
$query = new WP_Query( $args );
No entanto, neste caso, como o argumento 'ignore_sticky_posts' => 1
não está definido, o WordPress fará desnecessariamente todos os procedimentos de configuração de postagens fixas na parte superior dos resultados, mesmo que todos esses resultados (deste exemplo) sejam apenas rígidos posts.
A melhor maneira de aprender algo no WordPress é examinar o CÓDIGO principal. Assim, para um entendimento ainda mais claro, examine esta parte do CÓDIGO DO WordPress .