HEX
Server: Apache/2.4.59 (Debian)
System: Linux keymana 4.19.0-21-cloud-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
User: lijunjie (1003)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/dk/wp-content/themes/food/api/product/get_all.php
<?php

$tabs = new stdClass();
$tabs->newsCat = array();
foreach (get_categories() as $key => $value) {
    $n = new stdClass();
    $n->ID = $value->term_id;
    $n->name = $value->name;
    if ($n->name != "Uncategorized") {
        array_push($tabs->newsCat, $n);
    }
}

$args = array(
    'taxonomy' => 'product_cat',
    'hide_empty' => 0
);
$tabs->productCat = array();
$productTabs = get_terms('product_cat', $args);

foreach ($productTabs as $key => $value) {
    if($value->name != 'Uncategorized'){
        array_push($tabs->productCat,  $value->name);
    }
}
$result = [];
foreach ($tabs->productCat as $t){
    $args = array( 'category' => array( $t ), 'orderby' => 'name');
    $products = wc_get_products( $args );
    foreach ($products as $product){
        $data = new stdClass();
        $imageId = $product->get_image_id();
        // var_dump($imageId);
        $image_arr = wp_get_attachment_image_src($imageId,"full");
        // var_dump($image_arr);
        
        if (!empty($image_arr) && is_array($image_arr)){
            $image = $image_arr[0];
        } else {
            $image = "";
        }
        
        $data->id = $product->get_id();
        $data->img_url = $image;
        $data->product_name = $product->get_name();
        $arr=$product->get_category_ids();
        if (count($arr)>=2){
            $catelist=[];
            foreach ($arr as $a){
                $std = new stdClass();
                $std=$wpdb->get_var($wpdb->prepare("select name from `wp_terms` where term_id=%d",$a));
                array_push($catelist,$std);
            }
            $data->cate= $catelist;
        }else{
            $data->cate=$wpdb->get_var($wpdb->prepare("select name from `wp_terms` where term_id=%d",$product->get_category_ids()));
        }
        $data->product_price = $product->get_price();
        $data->sale_price=$product->get_sale_price();
        $data->regular_price=$product->get_regular_price();
        $data->description = $product->get_description();
        array_push($result,$data);
    }
}
$res = $result;