J'ai créé un champ de boîte à méta qui fonctionne bien, mais je dois maintenant en ajouter un de plus. Au cours des dernières heures, j'ai essayé de mélanger chaque élément, de le dupliquer, de prendre des éléments, de Google, de rechercher et de ne pas avoir de chance. La deuxième méta-boîte apparaît mais ne sera pas sauvegardée. Donc, ceci est ma première boîte à méta. Quelqu'un peut-il aider à en faire un supplémentaire. Ce qui doit être ajouté du premier au deuxième/ou enlevé. Certaines pièces ne montrent pas bien ici, donc version plus propre http://Pastebin.com/hYiYj1ZH
/* Lance la fonction de configuration de la boîte à méta sur l’écran de post-éditeur. */ add_action ('load-post.php', 'sw_post_meta_boxes_setup'); add_action ('load-post-new.php', 'sw_post_meta_boxes_setup'); /* Fonction de configuration de la méta-boîte. */ function sw_post_meta_boxes_setup () { /* Ajoutez des méta-boîtes au crochet 'add_meta_boxes'. */ add_action ('add_meta_boxes', 'sw_add_post_meta_boxes'); /* Enregistrer une méta de poste sur le crochet 'save_post'. */ add_action ('save_post', 'sw_save_video_box_meta', 10, 2); ] /* Créer un ou plusieurs méta boîtes à afficher sur l'écran d'édition de publication. */ function sw_add_post_meta_boxes () { add_meta_box ( 'sw_video_player', // ID unique esc_html __ ('Video Box', ' video-text '), // Title ' sw_video_box_meta_box ', // Fonction de rappel ' job_listing ', // Page d'administration (type de message personnalisé) ' normal ',// Contexte 'High' // // priorité ); Add_meta_box ( 'Sw_face_player', // identifiant unique esc_html __ ('Facebook Event Box', 'video-text'), // Title 'sw_face_box_meta_box', // Fonction de rappel 'job_listing', // page d'administration (type de message personnalisé) 'normal', // contexte 'élevé' // priorité ); } /* Affiche la boîte aux lettres méta. */ if (! function_exists ('sw_video_box_meta_box')) { fonction sw_video_box_meta_box ($ object, $ box) { wp_nonce_field (basename (__FILE__), 'sw_video_box_nonce'); _ e ("Placez le code d'intégration vidéo/liste de lecture ici.", 'sw-text');
echo esc_html __ (get_post_meta ($ object-> ID, 'sw_video_box', true)); } } /* Sauvegarder les métadonnées post de la boîte à méta. */ if (! function_exists ('sw_save_video_box_meta')) { fonction sw_save_video_box_meta ($ post_id, $ post) { /* Vérifiez la nonce avant de continuer . */ if (! isset ($ _POST ['sw_video_box_nonce'])) ||! wp_verify_nonce ($ _POST ['sw_video_box_nonce'], nom de base (__FILE__))) return $ post_id; /* Récupère l'objet de type publication. */ $ post_type = get_post_type_object ($ post-> post_type); /* Vérifiez si l'utilisateur actuel est autorisé à modifier le message. */ if (! current_user_can ($ post_type-> cap-> edit_post, $ post_id)) return $ post_id; /* Obtenir les données publiées et l'assainir pour l'utiliser comme classe HTML. */ $ new_meta_value = (isset ($ _POST ['sw_video_player'])? balanceTags ($ _POST ['sw_video_player']): ''); /* Obtenir la clé méta. */ $ meta_key = 'sw_video_box'; /* Obtenir la méta-valeur de la clé de champ personnalisé. */ $ meta_value = get_post_meta ($ post_id, $ meta_key, true); /* Si une nouvelle méta valeur était ajoutée et qu'il n'y avait aucune valeur précédente, ajoutez-la. */ if ($ new_meta_value && '' == $ meta_value) add_post_meta ($ post_id, $ meta_key, $ new_meta_value, true); /* Si la nouvelle méta-valeur ne correspond pas à l'ancienne, mettez-la à jour. */ elseif ($ new_meta_value && $ new_meta_value! = $ meta_value) update_post_meta ($ post_id, $ meta_key, $ new_meta_value); /. Si. n’a pas de nouvelle méta valeur mais une ancienne valeur existe, supprimez-la. */ elseif ('' == $ new_meta_value && $ meta_value) delete_post_meta ($ post_id, $ meta_key, $ meta_value); }}
Vous n'avez pas ajouté l'action de méta-action de sauvegarde pour la méta-boîte Facebook.
<?php
/* Fire our meta box setup function on the post editor screen. */
add_action( 'load-post.php', 'sw_post_meta_boxes_setup' );
add_action( 'load-post-new.php', 'sw_post_meta_boxes_setup' );
/* Meta box setup function. */
function sw_post_meta_boxes_setup() {
/* Add meta boxes on the 'add_meta_boxes' hook. */
add_action( 'add_meta_boxes', 'sw_add_post_meta_boxes' );
/* Save post meta on the 'save_post' hook. */
add_action( 'save_post', 'sw_save_video_box_meta', 10, 2);
add_action( 'save_post', 'sw_save_face_box_meta', 10, 2);
}
/* Create one or more meta boxes to be displayed on the post editor screen. */
function sw_add_post_meta_boxes() {
add_meta_box(
'sw_video_player', // Unique ID
esc_html__( 'Video Box', 'video-text' ), // Title
'sw_video_box_meta_box', // Callback function
'job_listing',// Admin page (custom post type)
'normal', // Context
'high' // Priority
);
add_meta_box(
'sw_face_player', // Unique ID
esc_html__( 'Facebook Event Box', 'video-text' ), // Title
'sw_face_box_meta_box', // Callback function
'job_listing',// Admin page (custom post type)
'normal', // Context
'high' // Priority
);
}
/* Display the post meta box. */
if ( !function_exists( 'sw_video_box_meta_box' ) ) {
function sw_video_box_meta_box( $object, $box ) { ?>
<?php wp_nonce_field( basename( __FILE__ ), 'sw_video_box_nonce' ); ?>
<p>
<label for="sw_video_player"><?php _e( "Place Video/Playlist Embed Code Here.", 'sw-text' ); ?></label>
<br />
<textarea class="widefat" name="sw_video_player" id="sw_video_player" cols="50" rows="5"><?php echo esc_html__( get_post_meta( $object->ID, 'sw_video_box', true ) ); ?></textarea>
</p>
<?php }
// Facebook Meta Box
if ( !function_exists( 'sw_face_box_meta_box' ) ) {
function sw_face_box_meta_box( $object, $box ) { ?>
<?php wp_nonce_field( basename( __FILE__ ), 'sw_face_box_nonce' ); ?>
<p>
<label for="sw_face_player"><?php _e( "Place FB Video/Playlist Embed Code Here.", 'sw-text' ); ?></label>
<br />
<textarea class="widefat" name="sw_face_player" id="sw_face_player" cols="50" rows="5"><?php echo esc_html__( get_post_meta( $object->ID, 'sw_face_box', true ) ); ?></textarea>
</p>
<?php }
}
}
/* Save the meta box's post metadata. */
if ( !function_exists( 'sw_save_video_box_meta' ) ) {
function sw_save_video_box_meta( $post_id, $post ) {
/* Verify the nonce before proceeding. */
if ( !isset( $_POST['sw_video_box_nonce'] ) || !wp_verify_nonce( $_POST['sw_video_box_nonce'], basename( __FILE__ ) ) )
return $post_id;
/* Get the post type object. */
$post_type = get_post_type_object( $post->post_type );
/* Check if the current user has permission to edit the post. */
if ( !current_user_can( $post_type->cap->edit_post, $post_id ) )
return $post_id;
/* Get the posted data and sanitize it for use as an HTML class. */
$new_meta_value = ( isset( $_POST['sw_video_player'] ) ? balanceTags( $_POST['sw_video_player'] ) : '' );
/* Get the meta key. */
$meta_key = 'sw_video_box';
/* Get the meta value of the custom field key. */
$meta_value = get_post_meta( $post_id, $meta_key, true );
/* If a new meta value was added and there was no previous value, add it. */
if ( $new_meta_value && '' == $meta_value )
add_post_meta( $post_id, $meta_key, $new_meta_value, true );
/* If the new meta value does not match the old value, update it. */
elseif ( $new_meta_value && $new_meta_value != $meta_value )
update_post_meta( $post_id, $meta_key, $new_meta_value );
/* If there is no new meta value but an old value exists, delete it. */
elseif ( '' == $new_meta_value && $meta_value )
delete_post_meta( $post_id, $meta_key, $meta_value );
}
}
/* Save the meta box's post metadata. Facebook Box */
if ( !function_exists( 'sw_save_face_box_meta' ) ) {
function sw_save_face_box_meta( $post_id, $post ) {
/* Verify the nonce before proceeding. */
if ( !isset( $_POST['sw_face_box_nonce'] ) || !wp_verify_nonce( $_POST['sw_face_box_nonce'], basename( __FILE__ ) ) )
return $post_id;
/* Get the post type object. */
$post_type = get_post_type_object( $post->post_type );
/* Check if the current user has permission to edit the post. */
if ( !current_user_can( $post_type->cap->edit_post, $post_id ) )
return $post_id;
/* Get the posted data and sanitize it for use as an HTML class. */
$new_meta_value = ( isset( $_POST['sw_face_player'] ) ? balanceTags( $_POST['sw_face_player'] ) : '' );
/* Get the meta key. */
$meta_key = 'sw_face_box';
/* Get the meta value of the custom field key. */
$meta_value = get_post_meta( $post_id, $meta_key, true );
/* If a new meta value was added and there was no previous value, add it. */
if ( $new_meta_value && '' == $meta_value )
add_post_meta( $post_id, $meta_key, $new_meta_value, true );
/* If the new meta value does not match the old value, update it. */
elseif ( $new_meta_value && $new_meta_value != $meta_value )
update_post_meta( $post_id, $meta_key, $new_meta_value );
/* If there is no new meta value but an old value exists, delete it. */
elseif ( '' == $new_meta_value && $meta_value )
delete_post_meta( $post_id, $meta_key, $meta_value );
}
}