Pour répondre à votre première question, obtenir votre post meta
«auteur de livres» de cette façon fera écho / affichera juste cela. Si vous définissez la variable $id
dans votre code à droite - ou vous pouvez le faire comme indiqué ci-dessous.
Le code devrait répondre à votre deuxième question, comment insérer votre deuxième ligne de titre sur la page du produit via le crochet woocommerce_single_product_summary
. Ajoutez simplement vos informations supplémentaires comme ceci:
function wpse116660_wc_add_2nd_title() {
?>
<div class="2nd-tile">
<?php echo get_post_meta(get_the_ID(), "bookauthor", true); ?>
</div>
<?php
}
add_action( 'woocommerce_single_product_summary', 'wpse116660_wc_add_2nd_title', 6 );
Pour avoir plus de confort avec votre méta de message personnalisé, vous pouvez faire ce que @ pl4g4 et @brasofilo ont suggéré et ajouter une métabox à l'écran d'édition du produit, mais ce n'est pas nécessaire bien sûr, vous semblez savoir comment le faire avec le wordpress standard personnalisé champs metabox .
Vous pouvez ajouter votre meta box comme ceci, le code est basé sur le premier exemple sur la page codex add_meta_box wordpress.
/**
* Adds a box to the main column on the Post and Page edit screens.
*/
function wpse116660_wc_2nd_title_mb() {
$screen = array( 'product' );
add_meta_box(
'wc_2nd_title_mb',
__( '2nd title', 'your_textdomain' ),
'wc_2nd_title_inner_mb',
$screen,
'advanced',
'high'
);
}
add_action( 'add_meta_boxes', 'wpse116660_wc_2nd_title_mb', 0 );
/**
* Prints the box content.
*
* @param WP_Post $post The object for the current post/page.
*/
function wpse116660_wc_2nd_title_inner_mb( $post ) {
// Add an nonce field so we can check for it later.
wp_nonce_field( 'wc_2nd_title_inner_mb', 'wc_2nd_title_inner_mb_nonce' );
/*
* Use get_post_meta() to retrieve an existing value
* from the database and use the value for the form.
*/
$value = get_post_meta( $post->ID, 'bookauthor', true );
echo '<label for="bookauthor_field">';
_e( "Bookauthor", 'your_textdomain' );
echo '</label> ';
echo '<input type="text" id="bookauthor_field" name="bookauthor_field" value="' . esc_attr( $value ) . '" size="50" />';
}
/**
* When the post is saved, saves our custom data.
*
* @param int $post_id The ID of the post being saved.
*/
function wpse116660_wc_2nd_title_save_postdata( $post_id ) {
/*
* We need to verify this came from the our screen and with proper authorization,
* because save_post can be triggered at other times.
*/
// Check if our nonce is set.
if ( ! isset( $_POST['wc_2nd_title_inner_mb_nonce'] ) )
return $post_id;
$nonce = $_POST['wc_2nd_title_inner_mb_nonce'];
// Verify that the nonce is valid.
if ( ! wp_verify_nonce( $nonce, 'wc_2nd_title_inner_mb' ) )
return $post_id;
// If this is an autosave, our form has not been submitted, so we don't want to do anything.
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return $post_id;
// Check the user's permissions.
if ( 'page' == $_POST['post_type'] ) {
if ( ! current_user_can( 'edit_page', $post_id ) )
return $post_id;
} else {
if ( ! current_user_can( 'edit_post', $post_id ) )
return $post_id;
}
/* OK, its safe for us to save the data now. */
// Sanitize user input.
$mydata = sanitize_text_field( $_POST['bookauthor_field'] );
// Update the meta field in the database.
update_post_meta( $post_id, 'bookauthor', $mydata );
}
add_action( 'save_post', 'wpse116660_wc_2nd_title_save_postdata' );
add_action
avec une priorité de 6 c'est ce qui mettra le sous-titre juste après le titre régulier (qui a une priorité de 5). Dans le cas où l'OP ne souhaite pas ajouter sa propre métabox, j'ai déjà écrit un plugin de sous - titres qui enregistre les données.Vous pouvez ajouter une métabox supplémentaire à la publication du produit. Cette méta-boîte doit avoir un formulaire de saisie afin que vous puissiez entrer le sous-titre, lorsque vous avez ajouté la métabox, enregistrez la valeur dans le post_meta lorsque le produit est enregistré, puis dans la page de produit unique du modèle woocommerce, utilisez le code
pour l'obtenir.
vous pouvez trouver des informations sur metaboxess ici et aussi ici
la source