【问题标题】:Understanding woocommerce theming - using my own theme了解 woocommerce 主题 - 使用我自己的主题
【发布时间】:2017-05-03 22:35:44
【问题描述】:

新闻: 在上面的答案之后,我可以再改变一点,但我仍然无法改变我需要的一切。现在最大的问题是:

  • 如何删除操作 (@hooked) 的内容并将其放入新的钩子中。我可以这样做吗?例如:
  • woocommerce_single_product_summary 带来

         * woocommerce_single_product_summary hook.
             *
             * @hooked woocommerce_template_single_title - 5
             * @hooked woocommerce_template_single_rating - 10
             * @hooked woocommerce_template_single_price - 10
             * @hooked woocommerce_template_single_excerpt - 20
             * @hooked woocommerce_template_single_add_to_cart - 30
             * @hooked woocommerce_template_single_meta - 40
             * @hooked woocommerce_template_single_sharing - 50
             * @hooked WC_Structured_Data::generate_product_data() - 60
    

我想删除(我知道我必须使用 remove(action) 来完成它。并将这些内容放入一个新的钩子中:

  • woocommerce_single_product_summary 自带

             * @hooked woocommerce_template_single_title - 5
             * @hooked woocommerce_template_single_rating - 10
             * @hooked woocommerce_template_single_price - 10
    
    • 还有一个新的钩子“woocommerce_single_product_NEW with”

           * @hooked woocommerce_template_single_excerpt - 20
           * @hooked woocommerce_template_single_add_to_cart - 30
           * @hooked woocommerce_template_single_meta - 40
           * @hooked woocommerce_template_single_sharing - 50
      

我该怎么做?

我的页面现在看起来像这样:

谢谢!


我是一个学习 PHP 来制作我自己的 Wordpress 主题的 jr 人。今天,这没什么大不了的,但我有一个新项目,我正在尝试使用 woocommerce 插件。

我的页眉、侧边栏和页脚工作得很好,但我不明白如何添加我自己的主题来设计单个产品页面和其他 woocommerce 页面,因为我不知道钩子和那个功能带来内容。

我的目标:

1) 从此更改我的单页产品的所有项目:

我的密码:

<?php
		/**
		 * woocommerce_before_main_content hook.
		 *
		 * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
		 * @hooked woocommerce_breadcrumb - 20
		 * @hooked WC_Structured_Data::generate_website_data() - 30
		 */
		do_action( 'woocommerce_before_main_content' );
	?>

  <!-- CLOSE - Shows the path of my site Inicio / Shop -->


  <!-- PAge Title -->


  <header class="woocommerce-products-header">

    <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>

    <h1 class="woocommerce-products-header__title page-title">
      <?php woocommerce_page_title(); ?>
    </h1>

    <?php endif; ?>

    <!-- Close PAge Title -->


    <!-- Não mostra nada nesse momento -->


    <?php
			/**
			 * woocommerce_archive_description hook.
			 *
			 * @hooked woocommerce_taxonomy_archive_description - 10
			 * @hooked woocommerce_product_archive_description - 10
			 */
			do_action( 'woocommerce_archive_description' );
		?>

      <!-- Fecha - Não mostra nada nesse momento -->

  </header>


  <?php if ( have_posts() ) : ?>

  <?php
				/**
				 * woocommerce_before_shop_loop hook.
				 *
				 * @hooked wc_print_notices - 10
				 * @hooked woocommerce_result_count - 20
				 * @hooked woocommerce_catalog_ordering - 30
				 */
				do_action( 'woocommerce_before_shop_loop' );
			?>

    <?php woocommerce_product_loop_start(); ?>

    <?php woocommerce_product_subcategories(); ?>

    <?php while ( have_posts() ) : the_post(); ?>

    <?php
						/**
						 * woocommerce_shop_loop hook.
						 *
						 * @hooked WC_Structured_Data::generate_product_data() - 10
						 */
						do_action( 'woocommerce_shop_loop' );
					?>

      <?php wc_get_template_part( 'content', 'product' ); ?>

      <?php endwhile; // end of the loop. ?>

      <?php woocommerce_product_loop_end(); ?>

      <?php
				/**
				 * woocommerce_after_shop_loop hook.
				 *
				 * @hooked woocommerce_pagination - 10
				 */
				do_action( 'woocommerce_after_shop_loop' );
			?>

        <?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>

        <?php
				/**
				 * woocommerce_no_products_found hook.
				 *
				 * @hooked wc_no_products_found - 10
				 */
				do_action( 'woocommerce_no_products_found' );
			?>

          <?php endif; ?>

          <?php
		/**
		 * woocommerce_after_main_content hook.
		 *
		 * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
		 */
		do_action( 'woocommerce_after_main_content' );
	?>



            <?php get_footer( 'shop' ); ?>

类似的事情:


我已经知道哪一部分会带来内容,但我想了解如何改变它的每一个和平。

如果有人可以帮助我或者只是在此处链接一些文档,我会非常感激。

谢谢!

【问题讨论】:

    标签: php html css wordpress woocommerce


    【解决方案1】:

    如果您想将 woocommerce 修改为您的主题,请按照说明进行操作。 首先将 woocommerce 支持添加到您的主题中。

    add_theme_support( 'woocommerce' );
    

    WooCommerce 插件带有许多前端 HTML 模板以及电子邮件模板。而不是直接在插件中编辑这些文件(这是一个非常糟糕的主意,因为一旦更新插件,您的所有更改都将丢失!),您可以将它们复制到您的主题中:

    1. 在您的主题目录中,创建一个名为“woocommerce”的新文件夹。
    2. 导航到 WooCommerce 插件目录并打开“模板”文件夹。模板文件夹有很多子文件夹,其中包含 WooCommerce 使用的所有不同模板。幸运的是,WooCommerce 中的模板文件结构和命名很容易遵循。
    3. 在您新创建的“woocommerce”文件夹中,复制您要编辑的模板文件。请记住在此处保持目录结构相同。如果您要编辑的模板位于子文件夹中,请记住在主题目录中创建该子文件夹。
    4. 从“woocommerce”文件夹中编辑文件并保存更改。

    然后假设我们要更改 WooCommerce 的“我的订单”屏幕中的一些 HTML。

    我们需要做的第一件事是找到正确的模板。在这种情况下,“我的订单”部分位于 WooCommerce 中的“我的帐户”下。目录结构如下:

    /wp-content/plugins/woocommerce/templates/myaccount/my-orders.php
    

    接下来,在您的主题中创建一个名为“woocommerce”的文件夹,并在该文件夹中创建另一个名为“myaccount”的文件夹。之后,将 my-orders.php 文件复制到该目录中。

    您应该留下以下内容:

    /wp-content/themes/yourtheme/woocommerce/myaccount/my-orders.php
    

    现在对该文件所做的任何更改都将覆盖原始文件。

    帮助链接: https://code.tutsplus.com/articles/an-introduction-to-theming-woocommerce-for-wordpress--wp-31577

    https://slicejack.com/creating-custom-woocommerce-themes/

    【讨论】:

    • 谢谢@shamim,这是我正在寻找的一部分。我可以改进我的页面。但我还有一些我无法改变的东西。例如:如何划分“woocommerce_single_product_summary”的内容,默认给我带来title、rating、price、excerpt、add_to_cart等内容。我想把它分成两组或更多组内容。这就像一个有标题和价格,另一个有其余内容。我已经知道如何删除,但我不知道如何添加另一个钩子(我必须创建一个新钩子吗?我该怎么做?)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多