Ich habe eine Wordpress-Seite, die mit einem Soap-Server verbunden ist. Das Problem ist, dass jedes Mal, wenn ich das Skript ausführe, wp_insert_post
das gleiche Ergebnis erneut verwendet.
Ich möchte überprüfen, ob der vorhandene post_title
mit dem Wert von $title
übereinstimmt, und wenn sie übereinstimmen, verhindern, dass wp_insert_post
den gleichen Wert erneut verwendet.
Hier ist der Code:
try {
$client = new SoapClient($wsdl, array('login' => $benutzername, 'password' => $passwort));
} catch(Exception $e) {
die('Konnte keine Verbindung zum Weblink-Dienst herstellen.');
}
$veröffentlichungen = $client->GetPublicationSummaries();
foreach ($veröffentlichungen->GetPublicationSummariesResult->PublicationSummaries->PublicationSummary as $publikationszusammenfassung) {
// die vollständige Veröffentlichung vom Webservice abrufen
$veröffentlichung = $client->getPublication(array('PublicationId' => $publikationszusammenfassung->ID))->GetPublicationResult->Publication;
// alle Eigenschaften abrufen und in ein Array einfügen
$eigenschaften = array();
foreach ($veröffentlichung->Property as $attribut => $wert) {
$eigenschaften[$attribut] = $wert;
}
// Grundlegenden Titel aus Eigenschaften zusammenstellen
$titel = $eigenschaften['Adresse']->Straße . ' ' . $eigenschaften['Adresse']->Hausnummer . $eigenschaften['Adresse']->Hausnummererweiterung . ', ' . $eigenschaften['Adresse']->Stadt->_;
}
$mein_beitrag = array(
'post_title'=>$titel,
'post_content'=>'mein Inhalt',
'post_status'=>'Entwurf',
'post_type'=>'skarabeeveröffentlichung',
'post_author'=>1,
);
wp_insert_post($mein_beitrag);
Vielen Dank für jede Hilfe.
2 Stimmen
Du solltest diesen Code ausprobieren. require( dirname(DATEI) . '/wp-load.php' ); global $wpdb; echo $count = $wpdb->get_var("select COUNT(*) from $wpdb->posts where
post_title
like '$title' ");