So einbinden von Entwürfen und privaten Beiträgen in Admin-Suchen mit SearchWP
SearchWP bietet integrierte Unterstützung zur Verbesserung von Suchergebnissen im WordPress-Adminbereich, indem die Option Admin Engine in den Engine-Einstellungen auf der Seite „SearchWP-Algorithmen“ aktiviert wird. Wenn diese Option aktiviert ist, verbessert SearchWP Suchvorgänge im WordPress-Dashboard, z. B. in den Bereichen Beiträge oder Seiten. Standardmäßig indiziert und gibt SearchWP jedoch nur veröffentlichte Inhalte zurück. Entwürfe, private und geplante (zukünftige) Beiträge sind von den Suchergebnissen ausgeschlossen.
Dieses Verhalten besteht, da SearchWP in erster Linie dazu dient, Frontend-Sucherlebnisse zu ermöglichen, bei denen unveröffentlichte Inhalte nicht öffentlich zugänglich sein sollten. Daher werden nicht veröffentlichte Beitragsstatus nicht indiziert, es sei denn, sie werden ausdrücklich einbezogen. Wenn Sie SearchWP zum Durchsuchen von Inhalten im Admin-Bereich verwenden und Entwürfe, private oder geplante Beiträge finden müssen, können Sie das Verhalten von SearchWP mithilfe eines benutzerdefinierten Filter-Hooks erweitern.
Das folgende Beispiel zeigt, wie Entwürfe, private und geplante Beiträge in Admin-Only-Suchen einbezogen werden, während die Frontend-Suchergebnisse unverändert bleiben:
| <?php | |
| // Search draft, private, and scheduled posts in admin side only | |
| add_filter( 'searchwp\post_stati', function ( $post_stati, $args ) { | |
| $is_search = is_search() || isset( $_REQUEST['s'] ); | |
| $is_swp_search = isset( $_REQUEST['swps'] ); | |
| $is_admin = is_admin() && ! wp_doing_ajax(); | |
| // Do not modify post statuses on SearchWP results pages and normal frontend searches | |
| if ( ($is_swp_search || $is_search) && ! $is_admin ) { | |
| return $post_stati; | |
| } | |
| // Include draft, private, and scheduled (future) posts in admin search | |
| return array_unique( | |
| array_merge( $post_stati, [ 'draft', 'private', 'future' ] ) | |
| ); | |
| }, 20, 2 ); |
Sie können diesen Code mit einem Code-Snippet-Plugin wie WPCode oder durch die Vorbereitung eines SearchWP Customizations Plugin hinzufügen.
Dieser Hook modifiziert die Liste der Beitragsstatus, die SearchWP während der Indizierung und Suche berücksichtigt, jedoch nur, wenn die Suche im WordPress-Adminbereich durchgeführt wird. Infolgedessen werden Entwürfe, private und geplante Beiträge von Beitragstypen, die in Ihrer SearchWP-Engine enthalten sind, im Dashboard durchsuchbar. Diese Beiträge werden nicht in den Frontend-Suchergebnissen angezeigt, sodass unveröffentlichte Inhalte für Website-Besucher verborgen bleiben.

