重新排列woocommerce产品页面

时间:2014-10-29 12:42:51

标签: php wordpress function woocommerce hook

我的商店页面布局如下:

<div class="container">
    <div class="row">
    <aside class="span3">/*sidebar*/</aside>
    <div class="span9">/*product list*/</div>
    </div>
</div>

functions.php中,控制它的所有功能都是这样的

function open_woocommerce_content_wrappers(){
    echo '<div class="container"><div class="row">';
}

function close_woocommerce_content_wrappers(){
    echo '</div></div>';
}

function product_wrapper_open(){
    echo '<div class="span9">';
}

function product_wrapper_close(){
    echo '</div>';
}

function before_shop_loop_sidebar() {
    global $theme_options;

    echo '<aside class="span3">'; 
    dynamic_sidebar($theme_options['shop_sidebar']);
    echo '</aside>';
}

add_action( 'woocommerce_before_shop_loop', 'before_shop_loop_sidebar', 10);

function vozx_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', 'open_woocommerce_content_wrappers', 10 );
    add_action( 'woocommerce_after_main_content', 'close_woocommerce_content_wrappers', 10 );    
    add_action( 'woocommerce_before_shop_loop', 'product_wrapper_open', 10 );
    add_action( 'woocommerce_after_shop_loop', 'product_wrapper_close', 10 );
}

add_action( 'wp_head', 'prepare_woocommerce_wrappers' );

这是有效的,我希望span9首先包含内容,aside span3span9一起使用。我尝试更改优先级,但这只会导致span9内容中的侧边栏。

我想要这个布局:

<div class="container">
    <div class="row">
    <div class="span9">/*product list*/</div>
    <aside class="span3">/*sidebar*/</aside>
    </div>
</div>

我该怎么办?

编辑:

想出来了!

我改变了

add_action( 'woocommerce_before_shop_loop', 'before_shop_loop_sidebar', 10);

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

这重新安排了它:)

0 个答案:

没有答案