web-dev-qa-db-fra.com

WooCommerce: Modifier le modèle pour une page de produit unique

Je sais qu'il est possible de modifier la structure/la conception de la page du produit en modifiant le fichier single-product-php - dans un thème enfant.

Les modifications apportées à ce fichier affecteront toutes les pages du produit.

Mais comment puis-je modifier le fichier de modèle pour des pages de produit spécifiques? Comme si je pouvais avec un modèle de page personnalisé? À partir de rien, il n'y a pas de liste déroulante de modèles sur une seule page de produit, contrairement à une page (l'image).

Comment changer le modèle d'une page de produit spécifique?

4
user3751508

Woo Commerce est hors sujet car c'est un plugin et n'est pas spécifiquement lié à WordPress, mais vous pouvez copier le modèle single-product.php dans un dossier WooCommerce de votre thème enfant. changez le nom du fichier et modifiez le fichier, puis utilisez single_template ou template_include avec la balise conditionnelle correcte.

single_template

function get_custom_post_type_template($single_template) {
 global $post;

 if ($post->post_type == 'product') {
      $single_template = dirname( __FILE__ ) . '/single-template.php';
 }
 return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

template_include

add_filter( 'template_include', 'portfolio_page_template', 99 );

function portfolio_page_template( $template ) {

    if ( is_page( 'slug' )  ) {
        $new_template = locate_template( array( 'single-template.php' ) );
        if ( '' != $new_template ) {
            return $new_template ;
        }
    }

    return $template;
}
8
Brad Dalton

Vous devez vérifier WordPress template-hierarchy comment ça marche.

Poste unique #

Le fichier de modèle de publication unique est utilisé pour rendre une publication unique. WordPress utilise le chemin suivant:

1.single-{post-type}.php – First, WordPress looks for a template for the specific post type. For example, post type is product, WordPress would look for single-product.php.
2.single.php – WordPress then falls back to single.php.
3.index.php – Finally, as mentioned above, WordPress ultimately falls back to index.php.

Numéro de page

Le fichier modèle utilisé pour rendre une page statique (type de publication de page). Notez que contrairement aux autres types de post-types, la page est spéciale à WordPress et utilise le correctif suivant:

   1. custom template file – The page template assigned to the page. See get_page_templates().
   2. page-{slug}.php – If the page slug is recent-news, WordPress will look to use page-recent-news.php.
   3.page-{id}.php – If the page ID is 6, WordPress will look to use page-6.php.
   4. page.php
   5. index.php

Pour un identifiant spécifique, vous pouvez utiliser le modèle page-{id}.php.

2
sohan