هوکهای قالب WooCommerce
Bricks 1.7 dynamic tag جدید do_action را معرفی کرد تا بیشتر مشکلات سازگاری Bricks با افزونههای WooCommerce شخص ثالث حل شود. این tag انعطاف طراحی را هم بالا میبرد چون hookها را هر جا بخواهید قرار میدهید.
این مقاله قالبهایی را که باید با do_action بهروز شوند راهنمایی میکند — اختیاری است اگر فروشگاه Bricks شما الان درست کار میکند.
وقتی {do_action:xxx} با hookهای مشخص استفاده شود، Bricks برخی actionهای native WooCommerce را برای جلوگیری از تکرار محتوا حذف میکند.
مثال: {do_action:woocommerce_after_shop_loop_item_title} بهطور خودکار woocommerce_template_loop_rating و woocommerce_template_loop_price را حذف میکند — چون المانهای Product price و Product rating اطلاعات را در محل دلخواه نمایش میدهند. افزونهها و کدهای دیگر همچنان میتوانند به dynamic tag hook بزنند.
فهرست actionهای WooCommerce که Bricks با do_action حذف میکند
| Hook | Actions removed by Bricks, Priority |
|---|---|
| woocommerce_before_shop_loop_item | woocommerce_template_loop_product_link_open, 10 |
| woocommerce_before_shop_loop_item_title | woocommerce_show_product_loop_sale_flash, 10 woocommerce_template_loop_product_thumbnail, 10 |
| woocommerce_shop_loop_item_title | woocommerce_template_loop_product_title,10 |
| woocommerce_after_shop_loop_item_title | woocommerce_template_loop_rating, 5 woocommerce_template_loop_price, 10 |
| woocommerce_after_shop_loop_item | woocommerce_template_loop_product_link_close, 5 woocommerce_template_loop_add_to_cart, 10 |
| woocommerce_before_single_product_summary | woocommerce_show_product_sale_flash, 10 woocommerce_show_product_images, 20 |
| woocommerce_single_product_summary | woocommerce_template_single_title, 5 woocommerce_template_single_rating, 10 woocommerce_template_single_price, 10 woocommerce_template_single_excerpt, 20 woocommerce_template_single_add_to_cart, 30 woocommerce_template_single_meta, 40 woocommerce_template_single_sharing, 50 |
| woocommerce_after_single_product_summary | woocommerce_output_product_data_tabs, 10 woocommerce_upsell_display, 15 woocommerce_output_related_products, 20 |
| woocommerce_before_main_content | woocommerce_output_content_wrapper,10 woocommerce_breadcrumb, 20 |
| woocommerce_archive_description | woocommerce_taxonomy_archive_description, 10 woocommerce_product_archive_description, 10 |
| woocommerce_before_shop_loop | woocommerce_result_count, 20 woocommerce_catalog_ordering, 30 |
| woocommerce_after_shop_loop | woocommerce_pagination, 10 |
| woocommerce_after_main_content | woocommerce_output_content_wrapper_end, 10 |
| woocommerce_cart_is_empty | wc_empty_cart_message, 10 |
توجه
برای {do_action:xxx} از المان Basic Text استفاده کنید.
هوکهای قالب Single Product
برای قالب WooCommerce Single Product این hookها با dynamic tag do_action توصیه میشوند:
{do_action:woocommerce_before_single_product}— مهم (اعلان WooCommerce){do_action:woocommerce_before_single_product_summary}{do_action:woocommerce_single_product_summary}— مهم (بسیاری از افزونههای شخص ثالث){do_action:woocommerce_after_single_product_summary}{do_action:woocommerce_after_single_product}
اگر مطمئن نیستید افزونه از کدام hook استفاده میکند، همه را در قالب تک محصول قرار دهید.

محل hookهای قالب تک محصول
هوکهای قالب Product Archive
برای قالب Product Archive:
{do_action:woocommerce_archive_description}{do_action:woocommerce_before_shop_loop}— مهم (اعلان WooCommerce){do_action:woocommerce_before_shop_loop_item}{do_action:woocommerce_before_shop_loop_item_title}{do_action:woocommerce_shop_loop_item_title}{do_action:woocommerce_after_shop_loop_item_title}{do_action:woocommerce_after_shop_loop_item}{do_action:woocommerce_after_shop_loop}

محل hookهای قالب آرشیو (Custom Query Loop)
در Bricks 1.7، hookهای do_action بهصورت خودکار در فیلدهای المان Products (فقط برای المانهای تازه درجشده) قرار میگیرند.

المان Products پیشفرض با hookهای do_action
هوکهای قالب Empty Cart
{do_action:woocommerce_cart_is_empty}— مهم (اعلان WooCommerce)

محل hook سبد خالی
هوکهای قالب Cart
{do_action:woocommerce_before_cart}— مهم (اعلان WooCommerce){do_action:woocommerce_before_cart_collaterals}{do_action:woocommerce_after_cart}

محل hookهای Cart
قالب Pay
{do_action:woocommerce_pay_order_before_payment}

محل hookهای Pay
با این راهنما قالبهای Bricks با WooCommerce سازگار میمانند و actionها و جزئیات لازم در محل درست نمایش داده میشوند.