// Checkbox Meta
add_action("admin_init", "checkbox_init");
function checkbox_init(){
add_meta_box("checkbox", "Checkbox", "checkbox", "post", "normal", "high");
}
function checkbox(){
global $post;
$custom = get_post_custom($post->ID);
$field_id = $custom["field_id"][0];
?>
<label>Check for yes</label>
<?php $field_id_value = get_post_meta($post->ID, 'field_id', true);
if($field_id_value == "yes") $field_id_checked = 'checked="checked"'; ?>
<input type="checkbox" name="field_id" value="yes" <?php echo $field_id_checked; ?> />
<?php
}
// Save Meta Details
add_action('save_post', 'save_details');
function save_details(){
global $post;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return $post->ID;
}
update_post_meta($post->ID, "field_id", $_POST["field_id"]);
}
Je devais ajouter une méta case à cocher personnalisée sur la page posts pour activer certains contenus. Le code ci-dessus provient d'une autre réponse de stackoverflow. Quand je clique sur update post, cela enregistre la valeur de vérification, mais je ne comprends pas comment tester si elle est cochée sur une page dont je veux afficher le contenu.Vérifiez la méta case à cocher personnalisée si elle est cochée Wordpress
if (isset())
fait if (isset())
s'il y a une valeur, donc il retourne toujours vrai même s'il n'est pas coché. Est-il possible de tester la valeur checked = "checked"? C'est ce qui est mise à jour si j'inspecte l'élément.
merci. J'ai enlevé la valeur "oui" de l'entrée et vérifié pour. cela semblait avoir fonctionné. Je ne sais pas pourquoi toutes les réponses que j'ai regardées ont fait la valeur "oui" – corporalpoon
Heureux que cela a aidé. :) – shazyriver