2013-09-05 44 views
2

我已经构建了一个自定义的Wordpress主题,并正在使用Woo Commerce作为购物车插件。它大部分已经集成好了(我已经在functions.php中添加了主题的钩子,并且已经将Woo商业模板页面复制到主题中的woocommerce子文件夹中。)但是,我试图在循环外添加一个wrapper()产品类别页面,并且不能为我的生活制定出我需要编辑的内容以使其发挥作用。我需要这样做才能通过CSS重新定位产品。我可以运用CSS来,但这是不够具体,我Woo commerce:在循环之外编辑产品类别页面

到目前为止,我有:

  • 与内容product_cat.php和内容product.php试验(但内循环两种操作。
  • 尝试了一些其他的模板页面
  • 我已经添加了标签包装,start.php和包装,end.php页。这适用于其他的网页,但在产品cateogry不显示

我已经在网上和Wordpress网站上看过,但它没有提供任何关于此事的帮助。 任何帮助将不胜感激!

亲切的问候 尼克

回答

7

就找到了答案 - 我需要修改归档product.php

1

做一两件事,在你的自定义主题的根并将其命名为“woocommerce”创建一个文件夹。现在,您可以将WooCommerce插件中的模板复制到您的自定义主题woocommerce文件夹中,并覆盖任何WooCommerce模板文件。你可以在plugins/woocommerce/template/找到WooCommerce模板文件

希望这会对你有所帮助。

+0

不要编辑wp-content/plugins中的模板文件。当你更新插件时,这些将被覆盖。将文件复制并粘贴到您的主题目录中并编辑新文件以安全地处理它。 – garvan

+1

@garvan Manish暗示你应该使用'你的自定义主题' - 我现在已经说得更清楚了。 – icc97

10

对于这样的小改动,不需要覆盖整个文件。尝试首先使用WooCommerce提供的钩子。你可以在你的主题functions.php中做到这一点。这些函数在您的首页包装器中输出一个自定义包装器。

function start_wrapper_here() { // Start wrapper 
    echo '<div class="custom-wrapper">'; 
} 

add_action( 'woocommerce_before_main_content', 'start_wrapper_here', 20 ); 


function end_wrapper_here() { // End wrapper 
    echo '</div>'; 
} 

add_action( 'woocommerce_after_main_content', 'end_wrapper_here', 20 ); 

如果你想在所有WooCommerce页面添加独特的包装,你可以通过添加条件语句上面的功能做到这一点。 Visit this page on the WooCommerce site获取更多条件标签。

function start_wrapper_here() { // Start wrapper 

    if (is_shop()) { // Wrapper for the shop page 

     echo '<div class="shop-wrapper">'; 

    } elseif (is_product_category()) { // Wrapper for a product category page 

     echo '<div class="product-category-wrapper">'; 

    } elseif (is_product()) { // Wrapper for a single product page 

     echo '<div class="product-wrapper">'; 

    } 
} 

add_action( 'woocommerce_before_main_content', 'start_wrapper_here', 20 ); 

不要忘了再关闭它们。

function end_wrapper_here() { // End wrapper 
    if (is_shop()) { 

     echo '</div>'; 

    } elseif (is_product_category()) { 

     echo '</div>'; 

    } elseif (is_product()) { 

     echo '</div>'; 

    } 
} 

add_action( 'woocommerce_after_main_content', 'end_wrapper_here', 20 ); 

如果你wan't改变实际页面顶部封装(默认:<div id="container">),你应该编辑一个WooCommerce功能。此功能通常会使用get_template_part()调用wrapper-start.phpwrapper-end.php文件。我们现在重写这个函数并且回显我们自己的包装器。

function woocommerce_output_content_wrapper() { // Start wrapper for all the page contents 
    echo '<div class="custom-wrapper">'; 
} 

add_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 20 ); 


function woocommerce_output_content_wrapper_end() { // End wrapper for all the page contents 
echo '</div>'; 
} 

add_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 20 ); 
相关问题