Мне удается отобразить пользовательские атрибуты, но они отображаются после связанных продуктов, как я могу сделать их раньше?
Слева: что у меня сейчас есть, справа желаемый результат
Если вы посмотрите на шаблон woocommerce content-single-product.php, вы увидите, что:
/**
* woocommerce_after_single_product_summary hook.
*
* @hooked woocommerce_output_product_data_tabs - 10
* @hooked woocommerce_upsell_display - 15
* @hooked woocommerce_output_related_products - 20
*/
do_action( 'woocommerce_after_single_product_summary' );
Это означает, что в woocommerce_after_single_product_summary
крюк, отображается следующее:
Так что если вы хотите отобразить свой пользовательский код между вкладками продукта и продажами, вам нужно будет использовать пользовательскую функцию, подключенную к woocommerce_after_single_product_summary
действие крючок с приоритетом от 11 до 14.
Вы можете сделать это следующим образом:
add_action('woocommerce_after_single_product_summary', 'custom_code_after_single_product_summary', 12 );
function custom_code_after_single_product_summary() {
global $product;
// Set here your post "meta_key" for your custom product attribute
$meta_key1 = 'pa_when-to-use';
// Your code (related to your comment):
echo get_post_meta($product->get_id(), $meta_key1, true);
}
Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.
Протестировано и работает на WooCommerce 3+…
Других решений пока нет …