i fix the code: and working fine. and let me know is it the perfect way? then you can re-solve this ticket. and other’s can use
<div class="cs_progress_widget cs_gray_bg">
? ? ? ? ? ? ? ? ? ? ? ? <div class="cs_round_progress_wrap">
? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class="cs_round_progress_in">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class="cs_round_progress_number mb-0 cs_semibold cs_fs_51">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <?php
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Fetch the goal amount from the product's metadata
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $goal = get_post_meta($product_id, 'wcdp-settings[wcdp_fundraising_goal]', true);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (!is_numeric($goal)) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $goal = 4000; // Default goal if not set
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Fetch the raised amount (using the manual order total or whatever logic you have)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $raised = 0;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $orders = wc_get_orders(array(
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'status' => array('wc-completed', 'wc-processing'),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'limit' => -1, // Retrieve all relevant orders
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Loop through the orders and accumulate the total amount for this product
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? foreach ($orders as $order) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? foreach ($order->get_items() as $item) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if ($item->get_product_id() == $product_id) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $raised += $item->get_total(); // Add the total of this product in each order
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Calculate the raised percentage
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $percentage = 0;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if ($goal > 0) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $percentage = ($raised / $goal) * 100;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Display the percentage (rounded)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo '<span data-count-to="' . round($percentage) . '" class="odometer"></span>%';
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class="cs_round_progress cs_accent_color">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <svg class="cs_round_progress_percentage" viewbox="0 0 100 100" width="163" height="163" data-percent="<?php echo round($percentage); ?>">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <circle cx="50" cy="50" r="40" />
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </svg>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? <h3 class="cs_progress_widget_info cs_fs_21 cs_semibold">
? ? ? ? ? ? ? ? ? ? ? ? ? ? <?php
? ? ? ? ? ? ? ? ? ? ? ? ? ? // Fetch the goal amount from the product's metadata
? ? ? ? ? ? ? ? ? ? ? ? ? ? $goal = get_post_meta($product_id, 'wcdp-settings[wcdp_fundraising_goal]', true);
? ? ? ? ? ? ? ? ? ? ? ? ? ? if (!is_numeric($goal)) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $goal = 4000; // Default goal if not set
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? // Display the donation goal
? ? ? ? ? ? ? ? ? ? ? ? ? ? echo '<span>Goal: $' . number_format($goal) . '</span>';
? ? ? ? ? ? ? ? ? ? ? ? ? ? // Initialize the raised amount to zero
? ? ? ? ? ? ? ? ? ? ? ? ? ? $raised = 0;
? ? ? ? ? ? ? ? ? ? ? ? ? ? // Fetch all orders with status 'completed' or 'processing' that include this product
? ? ? ? ? ? ? ? ? ? ? ? ? ? $orders = wc_get_orders(array(
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'status' => array('wc-completed', 'wc-processing'),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'limit' => -1, // No limit to retrieve all relevant orders
? ? ? ? ? ? ? ? ? ? ? ? ? ? ));
? ? ? ? ? ? ? ? ? ? ? ? ? ? // Loop through the orders and accumulate the total amount for this product
? ? ? ? ? ? ? ? ? ? ? ? ? ? foreach ($orders as $order) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? foreach ($order->get_items() as $item) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if ($item->get_product_id() == $product_id) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $raised += $item->get_total(); // Add the total of this product in each order
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? // Display the raised amount
? ? ? ? ? ? ? ? ? ? ? ? ? ? echo '<span>Raised: $' . number_format($raised) . '</span>';
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>
? ? ? ? ? ? ? ? ? ? ? ? </h3>
? ? ? ? ? ? ? ? ? ? </div>