Ich muss nur benutzerdefinierte Beitragstypen abfragen - das sind alle Beitragstypen in meiner WP -Installation, ausgenommen Beiträge und Seiten. Ich habe get_post_types
verwendet, um eine Zeichenfolge aller benutzerdefinierten Beitragstypen zu erstellen, die ich abfragen möchte:
$args=array(
'public' => true,
'exclude_from_search' => false,
'_builtin' => false
);
$output = 'names'; // names or objects, note names is the default
$operator = 'and'; // 'and' or 'or'
$post_types=get_post_types($args,$output,$operator);
// Loop thru the cpts and assign a related taxonomy to a variable
$posttypes_array = "";
foreach ($post_types as $post_type ) {
$posttypes_array .= "$post_type, ";
}
$posttypes_array = rtrim($posttypes_array, ', ');
echo $posttypes_array;
Die Ausgabe für die Variable $posttypes_array
lautet wie folgt:
'puzzles', 'quizzes', 'challenges', 'tales', 'can_you_help'
Mein Problem ist, dass ich diese Variable nicht verwenden kann, um alle diese Beitragstypen wie folgt abzufragen:
$buildArgsAllQuestions = array( // Add out new query parameters
'post_type' => array($posttypes_array),
//'post_type' => $posttypes_array,
'orderby' => 'date',
'order' => 'DESC',
);
Meine Abfrage für alle benutzerdefinierten Posts funktioniert nur, wenn ich diese Zeile für post_type verwende:
'post_type' => array( 'puzzles', 'quizzes', 'challenges', 'tales', 'can_you_help' ),
Kann mir jemand sagen, wie ich die Variable $posttypes_array
oder etwas ähnliches verwenden kann, um alle benutzerdefinierten Posttypen wie folgt abzufragen: 'post_type' => array($posttypes_array)
?
Anstatt eine Zeichenfolge zu erstellen, erstellen Sie ein Array und überprüfen Sie es.
$posttypes_array = array();
foreach ($post_types as $post_type ) {
$posttypes_array[] = $post_type;
}
Und dann bilden Sie die Abfrage wie folgt
$buildArgsAllQuestions = array( // Add out new query parameters
'post_type' => $posttypes_array,
//'post_type' => $posttypes_array,
'orderby' => 'date',
'order' => 'DESC',
);