Automattic\WooCommerce\Internal\Features\ProductBlockEditor\ProductTemplates
ProductVariationTemplate::add_general_group_blocks() │ protected │ WC 1.0
Adds the general group blocks to the template.
Method of the class: ProductVariationTemplate{}
No Hooks.
Return
null
. Nothing (null).
Usage
// protected - for code of main (parent) or child class $result = $this->add_general_group_blocks();
ProductVariationTemplate::add_general_group_blocks() ProductVariationTemplate::add general group blocks code WC 9.3.3
protected function add_general_group_blocks() { $is_calc_taxes_enabled = wc_tax_enabled(); $general_group = $this->get_group_by_id( $this::GROUP_IDS['GENERAL'] ); $general_group->add_block( array( 'id' => 'general-single-variation-notice', 'blockName' => 'woocommerce/product-single-variation-notice', 'order' => 10, 'attributes' => array( 'content' => __( '<strong>You’re editing details specific to this variation.</strong> Some information, like description and images, will be inherited from the main product, <noticeLink><parentProductName/></noticeLink>.', 'woocommerce' ), 'type' => 'info', 'isDismissible' => true, 'name' => $this::SINGLE_VARIATION_NOTICE_DISMISSED_OPTION, ), ) ); // Basic Details Section. $basic_details = $general_group->add_section( array( 'id' => 'product-variation-details-section', 'order' => 10, 'attributes' => array( 'title' => __( 'Variation details', 'woocommerce' ), 'description' => __( 'This info will be displayed on the product page, category pages, social media, and search results.', 'woocommerce' ), ), ) ); // Product Pricing columns. $pricing_columns = $basic_details->add_block( array( 'id' => 'product-pricing-group-pricing-columns', 'blockName' => 'core/columns', 'order' => 10, ) ); $pricing_column_1 = $pricing_columns->add_block( array( 'id' => 'product-pricing-group-pricing-column-1', 'blockName' => 'core/column', 'order' => 10, 'attributes' => array( 'templateLock' => 'all', ), ) ); $pricing_column_1->add_block( array( 'id' => 'product-pricing-regular-price', 'blockName' => 'woocommerce/product-regular-price-field', 'order' => 10, 'attributes' => array( 'name' => 'regular_price', 'label' => __( 'Regular price', 'woocommerce' ), 'isRequired' => true, 'help' => $is_calc_taxes_enabled ? null : sprintf( /* translators: %1$s: store settings link opening tag. %2$s: store settings link closing tag.*/ __( 'Per your %1$sstore settings%2$s, taxes are not enabled.', 'woocommerce' ), '<a href="' . admin_url( 'admin.php?page=wc-settings&tab=general' ) . '" target="_blank" rel="noreferrer">', '</a>' ), ), ) ); $pricing_column_2 = $pricing_columns->add_block( array( 'id' => 'product-pricing-group-pricing-column-2', 'blockName' => 'core/column', 'order' => 20, 'attributes' => array( 'templateLock' => 'all', ), ) ); $pricing_column_2->add_block( array( 'id' => 'product-pricing-sale-price', 'blockName' => 'woocommerce/product-sale-price-field', 'order' => 10, 'attributes' => array( 'label' => __( 'Sale price', 'woocommerce' ), ), ) ); $basic_details->add_block( array( 'id' => 'product-pricing-schedule-sale-fields', 'blockName' => 'woocommerce/product-schedule-sale-fields', 'order' => 20, ) ); if ( $is_calc_taxes_enabled ) { $basic_details->add_block( array( 'id' => 'product-tax-class', 'blockName' => 'woocommerce/product-select-field', 'order' => 40, 'attributes' => array( 'label' => __( 'Tax class', 'woocommerce' ), 'help' => sprintf( /* translators: %1$s: Learn more link opening tag. %2$s: Learn more link closing tag.*/ __( 'Apply a tax rate if this product qualifies for tax reduction or exemption. %1$sLearn more%2$s', 'woocommerce' ), '<a href="https://woocommerce.com/document/setting-up-taxes-in-woocommerce/#shipping-tax-class" target="_blank" rel="noreferrer">', '</a>' ), 'property' => 'tax_class', 'options' => SimpleProductTemplate::get_tax_classes( 'product_variation' ), ), ) ); } $basic_details->add_block( array( 'id' => 'product-variation-note', 'blockName' => 'woocommerce/product-text-area-field', 'order' => 20, 'attributes' => array( 'property' => 'description', 'label' => __( 'Note', 'woocommerce' ), 'help' => 'Enter an optional note displayed on the product page when customers select this variation.', ), ) ); $basic_details->add_block( array( 'id' => 'product-variation-visibility', 'blockName' => 'woocommerce/product-checkbox-field', 'order' => 30, 'attributes' => array( 'property' => 'status', 'label' => __( 'Hide in product catalog', 'woocommerce' ), 'checkedValue' => 'private', 'uncheckedValue' => 'publish', ), ) ); // Images section. $images_section = $general_group->add_section( array( 'id' => 'product-variation-images-section', 'order' => 30, 'attributes' => array( 'title' => __( 'Image', 'woocommerce' ), 'description' => sprintf( /* translators: %1$s: Images guide link opening tag. %2$s: Images guide link closing tag. */ __( 'Drag images, upload new ones or select files from your library. For best results, use JPEG files that are 1000 by 1000 pixels or larger. %1$sHow to prepare images?%2$s', 'woocommerce' ), '<a href="https://woocommerce.com/posts/how-to-take-professional-product-photos-top-tips" target="_blank" rel="noreferrer">', '</a>' ), ), ) ); $images_section->add_block( array( 'id' => 'product-variation-image', 'blockName' => 'woocommerce/product-images-field', 'order' => 10, 'attributes' => array( 'property' => 'image', 'multiple' => false, ), ) ); // Downloads section. $this->add_downloadable_product_blocks( $general_group ); }