web-dev-qa-db-fra.com

Problème avec wp_insert_post et erreur de champ post_content Impossible de mettre à jour la publication dans la base de données.

J'ai des problèmes pour créer un script d'importation/mise en cache à utiliser dans un site WordPress. Ce flux provient d'un seul fichier texte qui est ensuite analysé et renvoyé sous forme de tableau.

En parcourant chaque élément du flux, j'utilise la fonction wp_insert_post pour ajouter les données (voir ci-dessous):

$ post = array (
 'post_title' => $ property ['DISPLAY_ADDRESS'], 
 'post_name' => sanitize_title ($ property ['DISPLAY_ADDRESS']. "-". $ property [ 'AGENT_REF']), 
 'Post_content' => $ content, 
 'Post_status' => 'publier', 
 'Post_type' => 'propriété', 
 'page_template' => 'page-property.php' 
); 
 
 $ post_id = wp_insert_post ($ post, true);

Lorsque je produis le $ post_id pour attraper l'erreur, je reçois le message ci-dessous:

WP_Error Object 
 (
 [Erreurs] => Tableau 
 (
 [Db_update_error] => Tableau 
 (
 [0] => Impossible de mettre à jour la publication dans la base de données 
) 
 
) 
 
 [Error_data] => Array 
 (
) 
 
)

J'ai essayé de prendre le texte qui se trouve dans la variable $ content varilable et de l'ajouter directement dans l'option 'post_content', ce qui fonctionne bien. Il se situe quelque part entre mon texte et son adoption en tant que $ contenu, ce qui pose problème. J'ai également essayé d'utiliser l'option 'post_content_filtered', ce qui n'a pas fait de différence.

Quelqu'un at-il déjà eu ce problème ou sait-il pourquoi cette erreur sera déclenchée? Sans le champ 'post_content', cela fonctionne bien.



*** MIS À JOUR ***

La variable $ content contient du texte provenant du flux. Illustré ci-dessous avec certaines données masquées comme pour un client. Vous trouverez ci-dessous un exemple de $ post pour afficher les données.

Tableau 
 (
 [Post_title] => Exemple de titre de poste 
 [Post_name] => exemple-post-name 
 [Post_content] => *** £ 303.33 pcm *** Disponible le 1er juillet 
 
 Le loyer inclut toutes les factures de services publics. Une pièce indépendante avec votre propre kitchenette et une salle de bain commune avec une autre. 
 Un lieu populaire proche des commerces et tout routes principales. 
 [post_status] => publier 
 [post_type] => propriété 
 [page_template] => page-property.php 
 [post_content_filtered] => 
) 
3
Jamie

Aujourd'hui, j'essayais d'insérer des données importées dans WordPress. J'utilisais wp_insert_post pour insérer des données, et l'erreur suivante a été renvoyée:

WP_Error Object (
    [errors] => Array
    (
        [db_update_error] => Array
            (
                [0] => Could not update post in the database
            )

    )
    [error_data] => Array
    (
    )
)

Mon ami m'a dit que j'essayais d'insérer des données codées non-utf8 et que WordPress utilisait UTF8 en interne.

$post_info['post_content'] = iconv('ISO-8859-1','UTF-8', $post_info['post_content']);
6
Tanmay Vats