J'ai changé l'apparence de la page Produit unique. J'ai déplacé quelques choses à propos en me connectant à Woocommerce et en éditant le css.
Dans la boîte, la page de produit unique affiche la description courte (décrite comme woocommerce_template_single_excerpt dans le fichier content-single-product.php) à côté de l'image du produit, mais je souhaite afficher la description complète.
La description complète est affichée dans les onglets de données du produit sous le produit. En regardant dans le répertoire tabs dans le fichier description.php, il semble que l’en-tête soit simplement défini. Vraisemblablement, étant donné que le produit est un type de publication personnalisé, la description du produit correspond au contenu de la publication personnalisée.
J'ai résolu le problème en insérant la description complète dans la section Description succincte du produit, mais j'aimerais une solution qui n'exige pas que quelqu'un ajoute des produits.
Quelqu'un peut-il suggérer un moyen de le faire s'il vous plaît?
Correctif légèrement différent fourni par Woocommerce, j'ai donc pensé l'inclure ici:
Dans templates/single-produit/short-description.php où il est écrit:
$post->post_excerpt
Remplacez ceci (2 occurrences) par;
$post->post_content
Merci
Au lieu de modifier le modèle, vous pouvez également essayer ceci:
<?php
/** Remove short description if product tabs are not displayed */
function dot_reorder_product_page() {
if ( get_option('woocommerce_product_tabs') == false ) {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
}
}
add_action( 'woocommerce_before_main_content', 'dot_reorder_product_page' );
/** Display product description the_content */
function dot_do_product_desc() {
global $woocommerce, $post;
if ( $post->post_content ) : ?>
<div itemprop="description" class="item-description">
<?php $heading = apply_filters('woocommerce_product_description_heading', __('Product Description', 'woocommerce')); ?>
<!-- <h2><?php echo $heading; ?></h2> -->
<?php the_content(); ?>
</div>
<?php endif;
}
add_action( 'woocommerce_single_product_summary', 'dot_do_product_desc', 20 );
Je n'ai jamais compris cela non plus de woocommerce ... Je m'attendrais à une "description du produit" comme information principale sur le post, puis peut-être à une "description détaillée" ou à une "information supplémentaire sur le produit" dans l'onglet.
dans templates/single-product/short-description.php
remplacer
if ( ! $post->post_excerpt ) return;
?>
<div itemprop="description">
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
avec
if ( ! the_content() ) return;
?>
<div itemprop="description">
<?php echo the_content(); ?>
puis dans templates/single-product/tabs/description.php
remplacer
<?php the_content(); ?>
avec
<?php the_excerpt(); ?>
Utilisez le modèle woocommerce dans price.php
add_action( 'woocommerce_after_shop_loop_item_title', 'my_add_short_description', 9 );
function my_add_short_description() {
echo '<span class="title-description">' . the_excerpt() . '</span><br />';
}