вот еще один способ сделать это с помощью wc_get_products:
$args = array(
'type' => 'variable',
'limit' => -1,
'return' => 'ids',
);
$variable_products_ids = wc_get_products( $args );
ваш код также должен работать. проблема может быть крючком, который вы используете. Вы также должны отладить его. этот код добавляет все переменные идентификаторы ко всем сообщениям.
add_filter('the_content' , function ($cnt){
$args = array(
'type' => 'variable',
'limit' => -1,
'return' => 'ids',
);
$variable_products_ids = wc_get_products( $args );
$str = '';
foreach($variable_products_ids as $id){
$str .= $id . ' ';
}
return $cnt .' '. $str;
}
);