【发布时间】:2017-01-21 17:33:49
【问题描述】:
我创建了一个插件,它使用 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');
有什么方法可以强制fragment自己刷新吗?
【问题讨论】:
标签: php wordpress woocommerce