重新订购WooCommerce单一产品,并围绕已移动和复制的WooCommerce挂钩进行回声div

时间:2015-10-21 作者:Christina

如何在下面代码中的操作周围包装一个div

函数中的PHP。php文件:

remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_title\', 5 );
add_action( \'woocommerce_before_single_product_summary\', \'woocommerce_template_single_title\', 5 );

remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_price\', 6 );
add_action( \'woocommerce_before_single_product_summary\', \'woocommerce_template_single_price\', 6 );

remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_excerpt\', 30 );
add_action( \'woocommerce_before_single_product_summary\', \'woocommerce_template_single_excerpt\', 10 );

remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 6 );
add_action( \'woocommerce_before_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 6 );
<小时>Question Background Info:

我设法将标题、价格、摘录和添加到图片之前的购物车中,这样现在我就可以按如下方式设置页面,这就是我想要的。但我想在第一集周围有一个“移动摘要”类的div。

<div class="new-div-i-want-to-add">
    Title<br>
    Price<br>
    Add to Cart<br>
    Excerpt<br>
</div>

<div class="images">Images</div>
    <div class="summary">
    Price<br>
    Excerpt<br>
    Add to Cart<br>

</div>
<小时>What have I tried?

我不知道它叫什么,所以没什么。我正在学习Genesis和Woocommerce,之前没有很多php或Wordpress方面的经验(甚至以用户身份写博客)。

2 个回复
最合适的回答,由SO网友:Christina 整理而成

我用不同的方式做了同样的事情,现在它就像我想要的那样堆叠起来,用一个div包装内容。

这将单个产品woocommerce输出堆叠如下:

标题价格添加到购物车/属性摘录Meta图像价格添加到购物车/属性选项卡向上销售相关所以现在在大视口上,我们浮动。product div.images向左浮动。右侧的product div.summary,清除后面的内容。隐藏。大视口上的页脚购物车部分,现在手机上的人不必滚动图像的整个高度来添加到购物车中-如果他们愿意的话。

在函数中。php

if ( in_array( \'woocommerce/woocommerce.php\', apply_filters( \'active_plugins\', get_option( \'active_plugins\' ) ) ) ) {

// ==== wrap in div
  function output_opening_div() {
      echo \'<div class="footer-cart-section">\';
  }
  function ouput_closing_div() {
      echo \'</div><!-- /.footer-cart-section -->\';
  }

// ==== put the excerpt below the add to cart and before the meta
  remove_action(\'woocommerce_single_product_summary\', \'woocommerce_template_single_excerpt\',20);
  add_action(\'woocommerce_single_product_summary\', \'woocommerce_template_single_excerpt\',35);

// ==== move images (with the thumbs) below the content
    remove_action( \'woocommerce_before_single_product_summary\', \'woocommerce_show_product_images\', 20 );
    add_action( \'woocommerce_after_single_product_summary\', \'woocommerce_show_product_images\', 50);

// ==== move all the content after images
    remove_action( \'woocommerce_after_single_product_summary\', \'woocommerce_output_product_data_tabs\', 10 );
    remove_action( \'woocommerce_after_single_product_summary\', \'woocommerce_upsell_display\', 15 );
    remove_action( \'woocommerce_after_single_product_summary\', \'woocommerce_output_related_products\', 20 );

    add_action( \'woocommerce_after_single_product\', \'woocommerce_output_product_data_tabs\', 20);
    add_action( \'woocommerce_after_single_product\', \'woocommerce_upsell_display\', 20);
    add_action( \'woocommerce_after_single_product\', \'woocommerce_output_related_products\', 20 );

// ==== repeat cart after image with opening and closing div functions

    add_action(\'woocommerce_after_single_product\',\'output_opening_div\',9);

    add_action( \'woocommerce_after_single_product\', \'woocommerce_template_single_price\', 10 );
    add_action( \'woocommerce_after_single_product\', \'woocommerce_template_single_add_to_cart\', 10 );

    add_action(\'woocommerce_after_single_product\',\'ouput_closing_div\',10);


}// end if woocommerce

SO网友:Gareth Gillman

我会用jQuery来实现,比如:

$(\'.element\').wrapInner(\'<div class="mobile-summary"></div>\');
。元素必须是希望代码工作的div之前的div,例如。

<div id="content>
 <div class="mobile-summary">
  <img src="image.jpg" />
 </div>
</div>
如果没有URL,很难给出100%的答案,但这将为您提供一个起点

相关推荐

从unctions.php调用的Add_Actions未返回好值

我正试图通过这些功能为我的网站添加一些安全/访问防护。php。然而,每当我尝试通过函数添加时。php(而不是作为插件,我以前做过)失败(总是返回false)。例如:add_action(\"parse_query\", checkaccess()); // in functions.php 以及function checkaccess() { $allowAccess = false; if(is_admin()||is_front_page()||i