Wir alle wissen, dass dies ignore_sticky_posts
verwendet wird, um klebrige Posts von Ihrer benutzerdefinierten Abfrage auszuschließen.
- Nein, diese Annahme ist falsch.
Was ignore_sticky_posts
bedeutet:
Auch wenn in natürlichem Englisch so ignore_sticky_posts
klingt, als ob WordPress alle klebrigen Beiträge aus der Abfrage ignorieren sollte, ist dies in Wirklichkeit nicht das, was WordPress tut. Stattdessen sollten Sie das 'ignore_sticky_posts' => 1
Argument wie folgt lesen :
Wenn ignore_sticky_posts
auf true
oder gesetzt ist 1
, ignoriert WordPress das Verfahren zum Festlegen der Sticky Posts in Ihrer benutzerdefinierten Abfrage.
Was WordPress macht, wenn ignore_sticky_posts
nicht festgelegt ist:
Um klar zu verstehen, was 'ignore_sticky_posts' => 1
funktioniert, müssen Sie verstehen, was WordPress tut, wenn das ignore_sticky_posts
Argument nicht oder auf gesetzt istfalse
oder 0
(standardmäßig) gesetzt ist:
Wenn das Abfrageergebnis Beiträge enthält, die Teil von Stick-Beiträgen sind, werden diese von WordPress an die Spitze des Abfrageergebnisses verschoben.
Wenn im Abfrageergebnis kein klebriger Beitrag vorhanden ist, ruft WordPress alle diese klebrigen Beiträge erneut aus der Datenbank ab und setzt sie an die Spitze des Abfrageergebnisses.
Wenn das Argument auf gesetzt ist 'ignore_sticky_posts' => 1
, ignoriert WordPress einfach das obige Verfahren , das ist alles. Es schließt sie nicht speziell aus. Dafür müssen Sie einstellenpost__not_in
Argument setzen.
Erläuterung des Codex-Beispiels:
Kommen wir nun zum Beispiel aus dem Kodex:
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' ),
'ignore_sticky_posts' => 1
);
$query = new WP_Query( $args );
Hier setzt Codex nur 'ignore_sticky_posts' => 1
auf Effizienz, nichts weiter . Auch ohne es zu haben, erhalten Sie das gleiche erwartete Ergebnis:
$args = array(
'posts_per_page' => 1,
'post__in' => get_option( 'sticky_posts' )
);
$query = new WP_Query( $args );
In diesem Fall führt 'ignore_sticky_posts' => 1
WordPress jedoch , da kein Argument festgelegt ist, unnötigerweise alle Vorgänge aus, bei denen klebrige Beiträge an die Spitze der Ergebnisse gesetzt werden, obwohl alle diese Ergebnisse (aus diesem Beispiel) nur klebrige Beiträge sind.
Der beste Weg, etwas in WordPress zu lernen, besteht darin, den Kerncode zu untersuchen. Untersuchen Sie diesen Teil von WordPress CODE , um ein noch klareres Verständnis zu erhalten .