Я создал плагин, который использует фрагменты WooCommerce, чтобы показать пользователю, сколько у них очков. Когда пользователь использует некоторые из точек (добавив товар в корзину), все работает нормально.Force WooCommerce для обновления фрагмента
Но когда администратор добавляет точки пользователю по админ-интерфейсу, фрагмент не обновляется, пока пользователь не добавит новый товар в корзину.
Вот пример кода:
function create_points_widget_content() {
$usersPoints = esc_attr(get_user_meta(get_current_user_id(), USERS_POINTS, true));
if (!isset($userPoints) || $userPoints == "") $userPoints = 0;
$usedPoints = get_current_points_in_cart('', 0);
?>
<div class="points-widget-v2">
<div><?php echo __("Your points", "plugin-domain"); ?>:<span class="users-points"><?php echo $usersPoints; ?></span></div>
<div><?php echo __("Actually used", "plugin-domain"); ?>:<span class="used-points"><?php echo $usedPoints; ?></span></div>
</div>
<?php
}
// Update top right price
function add_points_widget_to_fragment($fragments) {
global $woocommerce;
ob_start();
create_points_widget_content();
$fragments['div.points-widget-v2'] = ob_get_clean();
return $fragments;
}
add_filter('add_to_cart_fragments', 'add_points_widget_to_fragment');
Есть ли способ, как заставить фрагменты, чтобы обновить себя?
Спасибо большое за ответ, однако, пожалуйста, добавьте больше описание и/или информацию, и как он решает заданную проблему, чтобы другие могли легко ее понять, не прося разъяснений :) – koceeng
Ты лучший. Спасибо тебе большое. – efoula