Вопрос по существу: woocommerce

привык просто к опенкарт, там все понятно, откуда взялась та или другая переменная...
а тут недавно взялся осваивать Вордпресс..
и засады...
откуда что берется...
PHP знаю вроде хорошо... 20 лет...
но вот объясни пожалуйста:
нашел макет где оно выводится...
wp-content\themes\ ****\woocommerce\single-product\add-to-cart\variable.php

откуда взялась эта переменная? - $available_variations

перед этим правда есть :

1- global $product; - ну тут врядли....
2 - do_action( 'woocommerce_before_add_to_cart_form' );
3 - do_action( 'woocommerce_before_variations_form' );

а как отследить ? как вообще искать концы... smile откуда что взялось?
как узнать что тебе эти do_action( оставили ?
с учетом, что на эти хуки могли навесить еще 100-500 других....
как найти последний?

Заметки к вопросу:
campusboy 4.6 лет назад

В файле wc-template-functions.php вызывается шаблон /single-product/add-to-cart/variable.php так:

wc_get_template(
	'single-product/add-to-cart/variable.php',
	array(
		'available_variations' => $get_variations ? $product->get_available_variations() : false,
		'attributes'           => $product->get_variation_attributes(),
		'selected_attributes'  => $product->get_default_attributes(),
	)
);

Вторым параметром в виде массива передаются параметры, где имя ключа массива станет переменной с переданным значением.

anapogo 4.6 лет назад

Спасибо, начинает немного прояснятся... smile
а как понять эту строку в wc-template-functions.php:
// Get Available variations?
$get_variations = count( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );
смущает\непонятно это место "<= apply_filters"

и где находится сам класс $product с его методами...
и еще, может подскажете где и как в базе данных хранится признак вариативности товара...
понимаю что в wp_postmeta, post_id = id товара, но какой meta_key ?