Woocommerce lässt die Seitenleiste unten auf der Seite erscheinen

Lesezeit: 2 Minuten

Ich habe woocommerce auf einem Nicht-Woo-Theme installiert, ich möchte es ohne große Änderungen stylen. Aber als ich es installiert habe, wird die Seitenleiste aus jedem Container angezeigt (Widgets werden in ihren Divs angezeigt, aber ohne Wrapper). Jetzt habe ich verwendet

add_action('woocommerce_before_main_content', 'my_theme_wrapper_start', 10);
add_action('woocommerce_after_main_content', 'my_theme_wrapper_end', 10);

function my_theme_wrapper_start() {
  echo '<section id="main">';
}

function my_theme_wrapper_end() {
  echo '</section>';
}

Aus der Dokumentation, und das funktioniert für Woocommerce einwandfrei. Aber meine Seitenleiste ist immer noch unten, ohne Wrapper. Gibt es eine Möglichkeit, die Seitenleiste ebenfalls zu umschließen und neben dem Inhalt des Shops zu platzieren, indem nur Hooks verwendet werden und keine Dateien aus dem Plugin kopiert werden?

Ich habe es herausgefunden, das ist ein ‘Framework’, das für mich funktioniert, falls es jemand braucht:

<?php

if (!function_exists('custom_open_woocommerce_content_wrappers')) {
    function custom_open_woocommerce_content_wrappers(){
        echo '<div class="container shop_container"><div class="row">';
    }
}

if (!function_exists('custom_close_woocommerce_content_wrappers')) {
    function custom_close_woocommerce_content_wrappers(){
        echo '</div></div>';
    }
}

if (!function_exists('custom_product_wrapper_open')) {
    function custom_product_wrapper_open(){
        echo '<div class="span8 content_with_right_sidebar">';
    }
}

if (!function_exists('custom_product_wrapper_close')) {
    function custom_product_wrapper_close(){
        echo '</div>';
    }
}

if (!function_exists('custom_before_shop_loop_sidebar')) {
    function custom_before_shop_loop_sidebar() {
        echo '<aside class="span4 sidebar sidebar_right">';
        dynamic_sidebar(get_theme_mod('shop_sidebar', ''));
        echo '</aside>';
    }
}


add_action( 'woocommerce_after_shop_loop', 'custom_before_shop_loop_sidebar', 20);

if (!function_exists('custom_prepare_woocommerce_wrappers')) {
    function custom_prepare_woocommerce_wrappers(){
        remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
        remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);
        remove_action( 'woocommerce_before_shop_loop', 'woocommerce_output_content_wrapper', 10);
        remove_action( 'woocommerce_after_shop_loop', 'woocommerce_output_content_wrapper_end', 10);

        add_action( 'woocommerce_before_main_content', 'custom_open_woocommerce_content_wrappers', 10 );
        add_action( 'woocommerce_after_main_content', 'custom_close_woocommerce_content_wrappers', 10 );
        add_action( 'woocommerce_before_shop_loop', 'custom_product_wrapper_open', 10 );
        add_action( 'woocommerce_after_shop_loop', 'custom_product_wrapper_close', 10 );
    }
}

add_action( 'wp_head', 'custom_prepare_woocommerce_wrappers' );

Dadurch wird ein Wrapper mit einer rechten Seitenleiste erstellt. Sie können es bei Bedarf weiter anpassen. Ich hoffe es hilft.

.

758760cookie-checkWoocommerce lässt die Seitenleiste unten auf der Seite erscheinen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy