Ich habe einen benutzerdefinierten Beitragstyp namens "Knoten" registriert.
Wenn ich eine einfache WP_Query erstelle, um Beiträge dieses Typs abzurufen, funktioniert dies einwandfrei. Beispiel:
$args = array(
'post_status' => 'publish',
'post_type' => 'node');
$query = new WP_Query($args);
Dadurch werden alle veröffentlichten Beiträge vom Typ "Knoten" abgerufen.
Sobald ich dies jedoch mit einer Suche kombiniere, wird nichts zurückgegeben. Beispiel:
$args = array(
'post_status' => 'publish',
'post_type' => 'node',
's' => 'My search term');
$query = new WP_Query($args);
Dies wird nichts bekommen, obwohl es mehrere Beiträge vom Typ 'Knoten' bekommen sollte, die 'Mein Suchbegriff' enthalten.
Soweit ich sehen kann, werden die Beitragstypen automatisch auf "Beitrag" und "Seite" gesetzt, sobald ich den Parameter "s" in $ args einbinde. Wenn ich einen var_dump von $ query ausdrucke, wird Folgendes angezeigt:
Ohne "s":
object(WP_Query)
public 'query' =>
array (size=2)
'post_status' => string 'publish' (length=7)
'post_type' => string 'node' (length=4)
public 'query_vars' =>
array (size=63)
'post_status' => string 'publish' (length=7)
'post_type' => string 'node' (length=4)
...
Mit "s":
object(WP_Query)
public 'query' =>
array (size=2)
'post_status' => string 'publish' (length=7)
's' => string 'My search term' (length=14)
'post_type' => string 'node' (length=4)
public 'query_vars' =>
array (size=66)
'post_status' => string 'publish' (length=7)
's' => string 'My search term' (length=14)
'post_type' =>
array (size=2)
0 => string 'post' (length=4)
1 => string 'page' (length=4)
...
Wordpress scheint also die Beitragstypen zu überschreiben, sobald eine Suche durchgeführt wird.
Wie kann ich das beheben?