web-dev-qa-db-de.com

WooCommerce: Vorlage für einzelne Produktseite ändern

Ich weiß, dass es eine Möglichkeit gibt, die Struktur/das Design der Produktseite zu ändern, indem Sie die Datei single-product-php - in einem untergeordneten Thema - bearbeiten.

Die in dieser Datei vorgenommenen Änderungen wirken sich auf alle Produktseiten aus.

Aber wie ändere ich die Vorlagendatei für bestimmte Produktseiten? Wie kann ich mit einer benutzerdefinierten Seitenvorlage? Von Grund auf neu gibt es kein Vorlagen-Dropdown auf einer einzelnen Produktseite, wie es für eine Seite (das Bild) der Fall ist.

Wie ändere ich die Vorlage einer bestimmten Produktseite?

4
user3751508

Woo Commerce ist kein Thema, da es sich um ein Plugin handelt, das nicht speziell auf WordPress bezogen ist. Sie können es jedoch über die single-product.php-Vorlage in einen WooCommerce-Ordner in Ihrem untergeordneten Thema kopieren. Ändern Sie den Dateinamen und die Datei, und verwenden Sie dann single_template oder template_include mit dem richtigen bedingten Tag.

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

Sie müssen WordPress Template-Hierarchie überprüfen, wie es funktioniert.

Einzelne Post #

Die einzelne Beitragsvorlagendatei wird zum Rendern eines einzelnen Beitrags verwendet. WordPress verwendet den folgenden Pfad:

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.

Seite #

Die Vorlagendatei, die zum Rendern einer statischen Seite (Seite nach dem Typ) verwendet wird. Beachten Sie, dass im Gegensatz zu anderen Post-Typen die Seite speziell für WordPress ist und den folgenden Patch verwendet:

   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

Für eine bestimmte ID können Sie die Vorlage page-{id}.php verwenden.

2
sohan