PluginProbe ʕ •ᴥ•ʔ
WooCommerce / 10.9.4
WooCommerce v10.9.4
10.9.4 10.9.3 10.9.2 10.9.1 10.9.0 10.9.0-rc.1 10.9.0-beta.2 10.9.0-beta.1 10.8.1 10.8.0 10.8.0-rc.1 10.8.0-beta.2 10.8.0-beta.1 7.8.0-beta.1 7.8.0-beta.2 7.8.0-rc.1 7.8.0-rc.2 7.8.1 7.8.2 7.8.3 7.8.4 7.9.0 7.9.0-beta.1 7.9.0-beta.2 7.9.0-rc.2 7.9.0-rc.3 7.9.1 7.9.2 8.0.0 8.0.0-beta.1 8.0.0-beta.2 8.0.0-rc.1 8.0.0-rc.2 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.1.0 8.1.0-beta.1 8.1.0-rc.1 8.1.0-rc.2 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 8.2.0-beta.1 8.2.0-rc.1 8.2.0-rc.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.3.0 8.3.0-beta.1 8.3.0-rc.1 8.3.0-rc.2 8.3.1 8.3.2 8.3.3 8.3.4 8.4.0 8.4.0-beta.1 8.4.0-rc.1 8.4.1 8.4.2 8.4.3 8.5.0 8.5.0-beta.1 8.5.0-rc.1 8.5.1 8.5.2 8.5.3 8.5.4 8.5.5 8.6.0 8.6.0-beta.1 8.6.0-rc.1 8.6.1 8.6.2 8.6.3 8.6.4 8.7.0 8.7.0-beta.1 8.7.0-beta.2 8.7.0-rc.1 8.7.1 8.7.2 8.7.3 8.8.0 8.8.0-beta.1 8.8.0-rc.1 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.8.6 8.8.7 8.9.0 8.9.0-beta.1 8.9.0-rc.1 8.9.1 8.9.2 8.9.3 8.9.4 8.9.5 9.0.0 9.0.0-beta.1 9.0.0-beta.2 9.0.0-rc.1 9.0.1 9.0.2 9.0.3 9.0.4 9.1.0 9.1.0-beta.1 9.1.0-rc.1 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 9.2.0 9.2.0-beta.1 9.2.0-rc.1 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.3.0 9.3.0-beta.1 9.3.0-rc.1 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.3.6 9.4.0 9.4.0-beta.1 9.4.0-beta.2 9.4.0-rc.1 9.4.0-rc.2 9.4.0-rc.3 9.4.0-rc.4 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.5.0 9.5.0-beta.1 9.5.0-beta.2 9.5.0-rc.1 9.5.1 9.5.2 9.5.3 9.5.4 9.6.0 9.6.0-beta.1 9.6.0-beta.2 9.6.0-rc.1 9.6.1 9.6.2 9.6.3 9.6.4 9.7.0 9.7.0-beta.1 9.7.0-rc.1 9.7.1 9.7.2 9.7.3 9.8.0 9.8.0-beta.1 9.8.0-rc.1 9.8.1 9.8.2 9.8.3 9.8.4 9.8.5 9.8.6 9.8.7 9.9.0 9.9.0-beta.1 9.9.0-rc.1 9.9.1 9.9.2 9.9.3 9.9.4 9.9.5 9.9.6 9.9.7 3.7.3 7.1.2 3.8.0 7.2.0 3.8.0-beta.1 7.2.0-beta.1 3.8.0-rc.1 7.2.0-beta.2 3.8.0-rc.2 7.2.0-rc.1 3.8.1 7.2.0-rc.2 3.8.2 7.2.1 3.8.3 7.2.2 3.9.0 7.2.3 3.9.0-beta.1 7.2.4 3.9.0-beta.2 7.3.0 3.9.0-rc.1 7.3.0-beta.1 3.9.0-rc.2 7.3.0-beta.2 3.9.0-rc.3 7.3.0-rc.1 3.9.0-rc.4 7.3.0-rc.2 3.9.1 7.3.1 3.9.2 7.4.0 3.9.3 7.4.0-beta.1 3.9.4 7.4.0-beta.2 3.9.5 7.4.0-rc.1 4.0.0 7.4.0-rc.2 4.0.0-beta.1 7.4.1 4.0.0-rc.1 7.4.2 4.0.0-rc.2 7.5.0 4.0.1 7.5.0-beta.1 4.0.2 7.5.0-beta.2 4.0.3 7.5.0-rc.1 4.0.4 7.5.1 4.1.0 7.5.2 4.1.0-beta.1 7.6.0 4.1.0-beta.2 7.6.0-beta.1 4.1.0-rc.1 7.6.0-beta.2 4.1.0-rc.2 7.6.0-rc.1 4.1.1 7.6.0-rc.2 4.1.2 7.6.0-rc.3 4.1.3 7.6.1 4.1.4 7.6.2 4.2.0 7.7.0 4.2.0-RC.1 7.7.0-beta.1 4.2.0-RC.2 7.7.0-beta.2 4.2.0-beta.1 7.7.0-rc.1 4.2.1 7.7.1 4.2.2 7.7.2 4.2.3 7.7.3 4.2.4 7.8.0 4.2.5 4.3.0 4.3.0-beta.1 4.3.0-rc.1 4.3.0-rc.2 4.3.0-rc.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.4.0 4.4.0-beta.1 4.4.0-rc.1 4.4.1 4.4.2 4.4.3 4.4.4 4.5.0 4.5.0-beta.1 4.5.0-rc.1 4.5.0-rc.3 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.0-beta.1 4.6.0-rc.1 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.7.0 4.7.0-beta.1 4.7.0-beta.2 4.7.0-rc.1 4.7.1 4.7.1-beta.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.0-beta.1 4.8.0-rc.1 4.8.0-rc.2 4.8.1 4.8.2 4.8.3 4.9.0 4.9.0-beta.1 4.9.0-rc.1 4.9.0-rc.2 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 5.0.0 5.0.0-beta.1 5.0.0-beta.2 5.0.0-rc.1 5.0.0-rc.2 5.0.0-rc.3 5.0.1 5.0.2 5.0.3 5.1.0 5.1.0-beta.1 5.1.0-rc.1 trunk 5.1.1 10.0.0 5.1.2 10.0.0-rc.1 5.1.3 10.0.0-rc.2 5.2.0 10.0.1 5.2.0-beta.1 10.0.2 5.2.0-rc.1 10.0.3 5.2.0-rc.2 10.0.4 5.2.1 10.0.5 5.2.2 10.0.6 5.2.3 10.1.0 5.2.4 10.1.0-rc.1 5.2.5 10.1.0-rc.2 5.3.0 10.1.0-rc.3 5.3.0-beta.1 10.1.0-rc.4 5.3.0-rc.1 10.1.1 5.3.0-rc.2 10.1.2 5.3.1 10.1.3 5.3.2 10.1.4 5.3.3 10.2.0 5.4.0 10.2.0-beta.1 5.4.0-beta.1 10.2.0-beta.2 5.4.0-rc.1 10.2.0-rc.1 5.4.1 10.2.1 5.4.2 10.2.2 5.4.3 10.2.3 5.4.4 10.2.4 5.4.5 10.3.0 5.5.0 10.3.0-beta.1 5.5.0-beta.1 10.3.0-beta.2 5.5.0-rc.1 10.3.0-rc.1 5.5.0-rc.2 10.3.0-rc.2 5.5.1 10.3.1 5.5.2 10.3.2 5.5.3 10.3.3 5.5.4 10.3.4 5.5.5 10.3.5 5.6.0 10.3.6 5.6.0-beta.1 10.3.7 5.6.0-rc.1 10.3.8 5.6.0-rc.2 10.4.0 5.6.1 10.4.0-beta.1 5.6.2 10.4.0-beta.2 5.6.3 10.4.0-rc.1 5.7.0 10.4.1 5.7.0-beta.1 10.4.2 5.7.0-rc.1 10.4.3 5.7.1 10.4.4 5.7.2 10.5.0 5.7.3 10.5.0-beta.1 5.8.0 10.5.0-beta.2 5.8.0-beta.1 10.5.0-rc.1 5.8.0-beta.2 10.5.0-rc.2 5.8.0-rc.1 10.5.0-rc.3 5.8.1 10.5.1 5.8.2 10.5.2 5.9.0 10.5.3 5.9.0-beta.1 10.6.0 5.9.0-rc.1 10.6.0-beta.1 5.9.0-rc.2 10.6.0-beta.2 5.9.1 10.6.0-rc.1 5.9.2 10.6.1 6.0.0 10.6.2 6.0.0-beta.1 10.7.0 6.0.0-rc.1 10.7.0-beta.1 6.0.1 10.7.0-beta.2 6.0.2 10.7.0-rc.1 6.1.0 3.0.0 6.1.0-beta.1 3.0.1 6.1.0-rc.1 3.0.2 6.1.0-rc.2 3.0.3 6.1.1 3.0.4 6.1.2 3.0.5 6.1.3 3.0.6 6.2.0 3.0.7 6.2.0-beta.1 3.0.8 6.2.0-rc.1 3.0.9 6.2.0-rc.2 3.1.0 6.2.1 3.1.1 6.2.2 3.1.2 6.2.3 3.2.0 6.3.0 3.2.1 6.3.0-beta.1 3.2.2 6.3.0-rc.1 3.2.3 6.3.0-rc.2 3.2.4 6.3.1 3.2.5 6.3.2 3.2.6 6.4.0 3.3.0 6.4.0-beta.1 3.3.1 6.4.0-rc.1 3.3.2 6.4.1 3.3.2-rc.1 6.4.2 3.3.3 6.5.0 3.3.4 6.5.0-beta.1 3.3.5 6.5.0-rc.1 3.3.6 6.5.0-rc.2 3.4.0 6.5.1 3.4.0-beta.1 6.5.2 3.4.0-rc.2 6.6.0 3.4.1 6.6.0-beta.1 3.4.2 6.6.0-rc.1 3.4.3 6.6.0-rc.2 3.4.4 6.6.1 3.4.5 6.6.2 3.4.6 6.7.0 3.4.7 6.7.0-beta.1 3.4.8 6.7.0-beta.2 3.5.0 6.7.0-rc.1 3.5.0-beta.1 6.7.1 3.5.0-rc.1 6.8.0 3.5.0-rc.2 6.8.0-beta.1 3.5.1 6.8.0-beta.2 3.5.10 6.8.0-rc.1 3.5.2 6.8.1 3.5.3 6.8.2 3.5.4 6.8.3 3.5.5 6.9.0 3.5.6 6.9.0-beta.1 3.5.7 6.9.0-beta.2 3.5.8 6.9.0-rc.1 3.5.9 6.9.1 3.6.0 6.9.2 3.6.0-beta.1 6.9.3 3.6.0-rc.1 6.9.4 3.6.0-rc.2 6.9.5 3.6.0-rc.3 7.0.0 3.6.1 7.0.0-beta.1 3.6.2 7.0.0-beta.2 3.6.3 7.0.0-beta.3 3.6.4 7.0.0-rc.1 3.6.5 7.0.0-rc.2 3.6.6 7.0.1 3.6.7 7.0.2 3.7.0 7.1.0 3.7.0-beta.1 7.1.0-beta.1 3.7.0-rc.1 7.1.0-beta.2 3.7.0-rc.2 7.1.0-rc.1 3.7.1 7.1.0-rc.2 3.7.2 7.1.1
woocommerce / includes / admin / meta-boxes / views / html-product-data-general.php
woocommerce / includes / admin / meta-boxes / views Last commit date
html-order-download-permission.php 6 years ago html-order-fee.php 3 months ago html-order-item-meta.php 4 years ago html-order-item.php 9 months ago html-order-items.php 1 month ago html-order-notes.php 1 month ago html-order-refund.php 3 months ago html-order-shipping.php 3 months ago html-product-attribute-inner.php 1 month ago html-product-attribute.php 3 years ago html-product-data-advanced.php 5 months ago html-product-data-attributes.php 1 month ago html-product-data-general.php 2 months ago html-product-data-inventory.php 4 months ago html-product-data-linked-products.php 3 months ago html-product-data-panel.php 1 year ago html-product-data-shipping.php 3 years ago html-product-data-variations.php 1 month ago html-product-download.php 4 months ago html-product-variation-download.php 4 months ago html-variation-admin.php 1 month ago
html-product-data-general.php
263 lines
1 <?php
2 /**
3 * Product general data panel.
4 *
5 * @package WooCommerce\Admin
6 */
7
8 use Automattic\WooCommerce\Internal\CostOfGoodsSold\CostOfGoodsSoldController;
9
10 defined( 'ABSPATH' ) || exit;
11
12 use Automattic\WooCommerce\Enums\ProductTaxStatus;
13
14 ?>
15 <div id="general_product_data" class="panel woocommerce_options_panel">
16
17 <div class="options_group show_if_external">
18 <?php
19 woocommerce_wp_text_input(
20 array(
21 'id' => '_product_url',
22 'value' => is_callable( array( $product_object, 'get_product_url' ) ) ? $product_object->get_product_url( 'edit' ) : '',
23 'label' => __( 'Product URL', 'woocommerce' ),
24 'placeholder' => 'https://',
25 'description' => __( 'Enter the external URL to the product.', 'woocommerce' ),
26 )
27 );
28
29 woocommerce_wp_text_input(
30 array(
31 'id' => '_button_text',
32 'value' => is_callable( array( $product_object, 'get_button_text' ) ) ? $product_object->get_button_text( 'edit' ) : '',
33 'label' => __( 'Button text', 'woocommerce' ),
34 'placeholder' => _x( 'Buy product', 'placeholder', 'woocommerce' ),
35 'description' => __( 'This text will be shown on the button linking to the external product.', 'woocommerce' ),
36 )
37 );
38
39 do_action( 'woocommerce_product_options_external' );
40 ?>
41 </div>
42
43 <?php
44 $cogs_controller = wc_get_container()->get( CostOfGoodsSoldController::class );
45 $cogs_is_enabled = $cogs_controller->feature_is_enabled();
46 ?>
47 <div class="options_group pricing show_if_simple show_if_external hidden<?php echo $cogs_is_enabled ? ' show_if_variable' : ''; ?>">
48 <?php if ( $cogs_is_enabled ) : ?>
49 <span class="show_if_simple show_if_external">
50 <?php endif; ?>
51 <?php
52 $tax_label = '';
53 if ( wc_tax_enabled() ) {
54 $tax_text = wc_prices_include_tax()
55 ? __( 'incl. tax', 'woocommerce' )
56 : __( 'ex. tax', 'woocommerce' );
57 $tax_label = ' (' . $tax_text . ')';
58 }
59
60 woocommerce_wp_text_input(
61 array(
62 'id' => '_regular_price',
63 'value' => $product_object->get_regular_price( 'edit' ),
64 'label' => __( 'Regular price', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')' . $tax_label,
65 'data_type' => 'price',
66 )
67 );
68
69 woocommerce_wp_text_input(
70 array(
71 'id' => '_sale_price',
72 'value' => $product_object->get_sale_price( 'edit' ),
73 'data_type' => 'price',
74 'label' => __( 'Sale price', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')' . $tax_label,
75 'description' => '<a href="#" class="sale_schedule">' . __( 'Schedule', 'woocommerce' ) . '</a>',
76 )
77 );
78
79 $sale_price_dates_from_timestamp = $product_object->get_date_on_sale_from( 'edit' ) ? $product_object->get_date_on_sale_from( 'edit' )->getOffsetTimestamp() : false;
80 $sale_price_dates_to_timestamp = $product_object->get_date_on_sale_to( 'edit' ) ? $product_object->get_date_on_sale_to( 'edit' )->getOffsetTimestamp() : false;
81
82 $sale_price_dates_from = $sale_price_dates_from_timestamp ? date_i18n( 'Y-m-d', $sale_price_dates_from_timestamp ) : '';
83 $sale_price_dates_to = $sale_price_dates_to_timestamp ? date_i18n( 'Y-m-d', $sale_price_dates_to_timestamp ) : '';
84
85 // phpcs:disable WooCommerce.Commenting.CommentHooks.MissingSinceComment
86
87 /**
88 * Hook to customize the regular expression that validates dates entered in the WooCommerce admin editors.
89 *
90 * @param string $pattern Default pattern to use.
91 */
92 $date_input_html_pattern = apply_filters( 'woocommerce_date_input_html_pattern', '[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])' );
93
94 echo '<p class="form-field sale_price_dates_fields">
95 <label for="_sale_price_dates_from">' . esc_html__( 'Sale price dates', 'woocommerce' ) . '</label>
96 <input type="text" class="short" name="_sale_price_dates_from" id="_sale_price_dates_from" value="' . esc_attr( $sale_price_dates_from ) . '" placeholder="' . esc_html( _x( 'From&hellip;', 'placeholder', 'woocommerce' ) ) . ' YYYY-MM-DD" maxlength="10" pattern="' . esc_attr( $date_input_html_pattern ) . '" />
97 <input type="text" class="short" name="_sale_price_dates_to" id="_sale_price_dates_to" value="' . esc_attr( $sale_price_dates_to ) . '" placeholder="' . esc_html( _x( 'To&hellip;', 'placeholder', 'woocommerce' ) ) . ' YYYY-MM-DD" maxlength="10" pattern="' . esc_attr( $date_input_html_pattern ) . '" />
98 <a href="#" class="description cancel_sale_schedule">' . esc_html__( 'Cancel', 'woocommerce' ) . '</a>' . wc_help_tip( __( 'The sale will start at 00:00:00 of "From" date and end at 23:59:59 of "To" date.', 'woocommerce' ) ) . '
99 </p>';
100
101 /**
102 * Action that allows to render additional fields for price related settings in the product editor.
103 */
104 do_action( 'woocommerce_product_options_pricing' );
105
106 // phpcs:enable WooCommerce.Commenting.CommentHooks.MissingSinceComment
107 ?>
108 <?php if ( $cogs_is_enabled ) : ?>
109 </span>
110 <?php endif; ?>
111 <?php if ( $cogs_is_enabled ) : ?>
112 <span class="show_if_simple show_if_variable show_if_external hidden">
113 <?php
114 $is_variable = $product_object instanceof WC_Product_Variable;
115
116 woocommerce_wp_text_input(
117 array(
118 'id' => '_cogs_value',
119 'value' => $product_object->get_cogs_value() ?? '',
120 'label' => __( 'Cost of goods', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')',
121 'data_type' => 'price',
122 'desc_tip' => 'true',
123 'placeholder' => '0',
124 'description' => $cogs_controller->get_general_cost_edit_field_tooltip( $is_variable ),
125 )
126 );
127 ?>
128 </span>
129 <?php endif; ?>
130 </div>
131
132 <div class="options_group show_if_downloadable hidden">
133 <div class="form-field downloadable_files">
134 <label><?php esc_html_e( 'Downloadable files', 'woocommerce' ); ?></label>
135 <table class="widefat">
136 <thead>
137 <tr>
138 <th class="sort">&nbsp;</th>
139 <th><?php esc_html_e( 'Name', 'woocommerce' ); ?> <?php echo wc_help_tip( __( 'This is the name of the download shown to the customer.', 'woocommerce' ) ); ?></th>
140 <th colspan="2"><?php esc_html_e( 'File URL', 'woocommerce' ); ?> <?php echo wc_help_tip( __( 'This is the URL or absolute path to the file which customers will get access to. URLs entered here should already be encoded.', 'woocommerce' ) ); ?></th>
141 <th>&nbsp;</th>
142 </tr>
143 </thead>
144 <tbody>
145 <?php
146 $downloadable_files = $product_object->get_downloads( 'edit' );
147 $disabled_downloads_count = 0;
148
149 if ( $downloadable_files ) {
150 foreach ( $downloadable_files as $key => $file ) {
151 $disabled_download = isset( $file['enabled'] ) && false === $file['enabled'];
152 $disabled_downloads_count += (int) $disabled_download;
153 include __DIR__ . '/html-product-download.php';
154 }
155 }
156 ?>
157 </tbody>
158 <tfoot>
159 <tr>
160 <th colspan="2">
161 <a href="#" class="button insert" data-row="
162 <?php
163 $key = '';
164 $file = array(
165 'file' => '',
166 'name' => '',
167 );
168 $disabled_download = false;
169 ob_start();
170 require __DIR__ . '/html-product-download.php';
171 echo esc_attr( ob_get_clean() );
172 ?>
173 "><?php esc_html_e( 'Add File', 'woocommerce' ); ?></a>
174 </th>
175 <th colspan="3">
176 <?php if ( $disabled_downloads_count ) : ?>
177 <span class="disabled">*</span>
178 <?php
179 printf(
180 /* translators: 1: opening link tag, 2: closing link tag. */
181 esc_html__( 'The indicated downloads have been disabled (invalid location or filetype&mdash;%1$slearn more%2$s).', 'woocommerce' ),
182 '<a href="https://woocommerce.com/document/approved-download-directories" target="_blank">',
183 '</a>'
184 );
185 ?>
186 <?php endif; ?>
187 </th>
188 </tr>
189 </tfoot>
190 </table>
191 </div>
192 <?php
193 woocommerce_wp_text_input(
194 array(
195 'id' => '_download_limit',
196 'value' => -1 === $product_object->get_download_limit( 'edit' ) ? '' : $product_object->get_download_limit( 'edit' ),
197 'label' => __( 'Download limit', 'woocommerce' ),
198 'placeholder' => __( 'Unlimited', 'woocommerce' ),
199 'description' => __( 'Leave blank for unlimited re-downloads.', 'woocommerce' ),
200 'type' => 'number',
201 'custom_attributes' => array(
202 'step' => '1',
203 'min' => '0',
204 ),
205 )
206 );
207
208 woocommerce_wp_text_input(
209 array(
210 'id' => '_download_expiry',
211 'value' => -1 === $product_object->get_download_expiry( 'edit' ) ? '' : $product_object->get_download_expiry( 'edit' ),
212 'label' => __( 'Download expiry', 'woocommerce' ),
213 'placeholder' => __( 'Never', 'woocommerce' ),
214 'description' => __( 'Enter the number of days before a download link expires, or leave blank.', 'woocommerce' ),
215 'type' => 'number',
216 'custom_attributes' => array(
217 'step' => '1',
218 'min' => '0',
219 ),
220 )
221 );
222
223 do_action( 'woocommerce_product_options_downloads' );
224 ?>
225 </div>
226
227 <?php if ( wc_tax_enabled() ) : ?>
228 <div class="options_group show_if_simple show_if_external show_if_variable">
229 <?php
230 woocommerce_wp_select(
231 array(
232 'id' => '_tax_status',
233 'value' => $product_object->get_tax_status( 'edit' ),
234 'label' => __( 'Tax status', 'woocommerce' ),
235 'options' => array(
236 ProductTaxStatus::TAXABLE => __( 'Taxable', 'woocommerce' ),
237 ProductTaxStatus::SHIPPING => __( 'Shipping only', 'woocommerce' ),
238 ProductTaxStatus::NONE => _x( 'None', 'Tax status', 'woocommerce' ),
239 ),
240 'desc_tip' => 'true',
241 'description' => __( 'Define whether or not the entire product is taxable, or just the cost of shipping it.', 'woocommerce' ),
242 )
243 );
244
245 woocommerce_wp_select(
246 array(
247 'id' => '_tax_class',
248 'value' => $product_object->get_tax_class( 'edit' ),
249 'label' => __( 'Tax class', 'woocommerce' ),
250 'options' => wc_get_product_tax_class_options(),
251 'desc_tip' => 'true',
252 'description' => __( 'Choose a tax class for this product. Tax classes are used to apply different tax rates specific to certain types of product.', 'woocommerce' ),
253 )
254 );
255
256 do_action( 'woocommerce_product_options_tax' );
257 ?>
258 </div>
259 <?php endif; ?>
260
261 <?php do_action( 'woocommerce_product_options_general_product_data' ); ?>
262 </div>
263