J'ai donc créé un type d'importateur (d'un autre WP db à mon WP db), qui gère tout d'un clic de bouton.
Maintenant, il crée correctement un type de publication, bien que l'un des champs personnalisés créés avec ACF dans lequel je dois placer l'ID de l'autre base de données ne soit pas renseigné correctement, conformément à update_post_meta
. Maintenant, je n'ai aucune idée de la nature du problème car, lorsque je regarde dans ma base de données Wordpress, cela indique qu'il l'ajoute correctement dans la base de données, mais il n'ajoute pas (Mieux dit: Show) AVEC la publication personnalisée dans WP-Admin.
C'est le code que j'ai utilisé:
<form action="" method="post">
<input type="submit" value="Test" id="submit" name="submit">
<?php
if(isset($_POST['submit'])){
foreach ($result as $c) {
$postargs = array(
'post_title' => $c->member_name,
'post_status' => 'draft',
'post_type' => 'bedrijf'
);
$thisid = wp_insert_post ( $postargs, true);
if ( is_wp_error($thisid) ) {
return get_error_codes();
} else {
update_post_meta( $thisid, $meta_key, $c->memberID);
}
}
}
?>
</form>
Une capture d'écran de ma base de données montrant qu'elle ajoute (oui, la clé méta est correcte car je n'ai qu'un seul champ personnalisé). La méta-valeur est également correcte, comme je l'ai mise sur LIMIT 1 dans la requête que j'ai, de sorte qu'elle affiche uniquement la première valeur du DB.
EDIT: Pour être exact, il l’ajoute dans la table wp_postmeta
.
Trouvé la solution dans ce post:
update_post_meta et update_field fonctionnent correctement lors de la sauvegarde de la publication
La solution consiste à utiliser update_field
car update_post_meta
utilise une méthode différente pour mettre à jour les champs par rapport à ACF. Notez que ceci est le bon ordre d'utilisation du code update_field($meta_key, $meta_value, $post_ID);
.