• Resolved CodeGlim

    (@sitebland)


    Hello, dear plugin author,

    Thank you for your quick support response. I really appreciate it. I have one more thing I need to know.

    Here is the HTML for my single product page i need to dynamic these: *1- How can I find the functions for the goal and raised amounts? *2- And where i can find that function for total raised percent amount. I need to use them here.

    <h3 class="cs_goal_widget">
    ? ? <span>Goal : $4000</span>
    <span>Raised : $2800</span>

    </h3>
    <h2 class="cs_raised_percent">
    <span>30%</span>
    </h2>
Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter CodeGlim

    (@sitebland)

    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>
    Plugin Author Jonas

    (@flinnn)

    Hi CodeGlim,

    thanks for reaching out.
    Your code should work but it is not optimized for performance. Maybe it might be worth checking out the progress bar Shortcode offered by Donation Platform for WooCommerce: https://www.wc-donation.com/features/donation-progress-bar/

    Best,
    Jonas

    PS: If you’ve found Donation Platform for WooCommerce helpful and would like to support its continued growth and development, I’d truly appreciate it if you could leave a 5-star rating on www.ads-software.com. Thank you so much!

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.