Pour un type de publication personnalisé, j'insère dans une liste un autre type de publication personnalisée que je dois sélectionner pour la sauvegarde ...
<input type="checkbox" name="32"> My CPT <br>
<input type="checkbox" name="41"> My CPT 2 <br>
<input type="checkbox" name="42"> My CPT 3 <br>
<input type="checkbox" name="43"> My CPT 4
Il est assez facile de sauvegarder une seule entrée, mais comment puis-je sauvegarder plusieurs cases à cocher?
update_post_meta( $post->ID, 'mycpt', $_POST['myinput'] );
Pour ce faire, vous devrez les enregistrer sous forme de tableau. Actuellement, votre code HTML n’est pas au bon format.
<label for="my-cpt-32">
<input type="checkbox" name="cpt_ids[]" value="32" id="my-cpt-32" />
My CPT #32
</label>
<label for="my-cpt-41">
<input type="checkbox" name="cpt_ids[]" value="41" id="my-cpt-41" />
My CPT #41
</label>
<label for="my-cpt-43">
<input type="checkbox" name="cpt_ids[]" value="42" id="my-cpt-43" />
My CPT #43
</label>
Lorsque ceci sera $ _POST'ed, vous aurez un tableau de valeurs vérifiées, assurez-vous de vérifier qu'il est 'défini' par exemple. isset( $_POST['cpt_ids'] )
.
Si vous avez coché 41 et 43, vous obtiendrez un tableau comme celui-ci:
array(
[0] => 41,
[1] => 43
)
que vous pouvez utiliser pour enregistrer dans votre champ personnalisé, une table secondaire, etc.
J'espère que ça aide!
Le troisième paramètre de update_post_meta () peut être un tableau. Changer l'attribut name de la case à cocher quelque chose comme "myCPT []" et ajouter un attribut value:
<input type="checkbox" name="myCPT[]" value="32"> My CPT <br>
<input type="checkbox" name="myCPT[]" value="41"> My CPT 2 <br>
<input type="checkbox" name="myCPT[]" value="42"> My CPT 3 <br>
<input type="checkbox" name="myCPT[]" value="43"> My CPT 4
vous permettra d'obtenir toutes les valeurs sélectionnées sous forme de tableau.
Lorsque le formulaire est soumis, php créera un tableau des valeurs sélectionnées. Vous pouvez ensuite accéder au tableau à l’aide de $ _POST ['myCPT'].