Tengo un sitio de wordpress que se conecta a un servidor de soap. El problema es que cada vez que ejecuto el script, el "wp_insert_post" vuelve a utilizar el mismo resultado. Me gustaría comprobar si el valor post_title existente coincide con el valor de $ title y si coinciden, previenen que wp_insert_post vuelva a utilizar el mismo valor.Cómo evitar la publicación duplicada al verificar si existe el título de la publicación antes de ejecutar "wp_insert_post"?
Aquí está el código:
try {
$client = new SoapClient($wsdl, array('login' => $username, 'password' => $password));
} catch(Exception $e) {
die('Couldn\'t establish connection to weblink service.');
}
$publications = $client->GetPublicationSummaries();
foreach ($publications->GetPublicationSummariesResult->PublicationSummaries->PublicationSummary as $publication_summary) {
// get the complete publication from the webservice
$publication = $client->getPublication(array('PublicationId' => $publication_summary->ID))->GetPublicationResult->Publication;
// get all properties and put them in an array
$properties = array();
foreach ($publication->Property as $attribute => $value) {
$properties[$attribute] = $value;
}
// Assemble basic title from properties
$title = $properties['Address']->Street . ' ' . $properties['Address']->HouseNumber . $properties['Address']->HouseNumberExtension . ', ' . $properties['Address']->City->_;
}
$my_post = array(
'post_title'=>$title,
'post_content'=>'my contents',
'post_status'=>'draft',
'post_type'=>'skarabeepublication',
'post_author'=>1,
);
wp_insert_post($my_post);
Gracias por cualquier ayuda.
deberías probar este código. require (dirname (__ FILE__). '/wp-load.php'); global $ wpdb; echo $ count = $ wpdb-> get_var ("seleccione COUNT (*) desde $ wpdb-> publicaciones donde' post_title' como '$ title' "); – Robot