Website : phonehp.ir
backdoor
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Home
Console
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Warning
: Undefined variable $backdoor in
/home/nehpir/public_html/goods.php
on line
326
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
nehpir
/
public_html
/
wp-content
/
plugins
/
woocommersa
/
includes
/
API
/
Filename :
HealthController.php
back
Warning
: Undefined variable $file in
/home/nehpir/public_html/goods.php
on line
545
Copy
<?php namespace WooCommersa\API; if (!defined('ABSPATH')) exit; class HealthController extends BaseController { public function __construct() { add_action('rest_api_init', [$this, 'register_routes']); } public function register_routes() { register_rest_route($this->namespace, '/health', [ 'methods' => 'GET', 'callback' => [$this, 'get_health_stats'], 'permission_callback' => [$this, 'permissions_check'], ]); } public function get_health_stats() { global $wpdb; // 1. Basic Stats via fast SQL $total = $wpdb->get_var("SELECT COUNT(ID) FROM {$wpdb->posts} WHERE post_type = 'product' AND post_status = 'publish'"); // 2. Duplicate SKUs (Professional SQL Check) $duplicate_skus = $wpdb->get_var(" SELECT COUNT(*) FROM ( SELECT meta_value FROM {$wpdb->postmeta} WHERE meta_key = '_sku' AND meta_value != '' GROUP BY meta_value HAVING COUNT(meta_value) > 1 ) AS duplicates "); // 3. Products with No Image $no_image = $wpdb->get_var(" SELECT COUNT(p.ID) FROM {$wpdb->posts} p LEFT JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id AND pm.meta_key = '_thumbnail_id' WHERE p.post_type = 'product' AND p.post_status = 'publish' AND (pm.meta_value IS NULL OR pm.meta_value = '') "); // 4. Products with No SKU $no_sku = $wpdb->get_var(" SELECT COUNT(p.ID) FROM {$wpdb->posts} p LEFT JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id AND pm.meta_key = '_sku' WHERE p.post_type = 'product' AND p.post_status = 'publish' AND (pm.meta_value IS NULL OR pm.meta_value = '') "); // 5. Products with No Price $no_price = $wpdb->get_var(" SELECT COUNT(p.ID) FROM {$wpdb->posts} p LEFT JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id AND pm.meta_key = '_price' WHERE p.post_type = 'product' AND p.post_status = 'publish' AND (pm.meta_value IS NULL OR pm.meta_value = '' OR pm.meta_value = '0') "); // 6. Products with No SEO (Audit RankMath/Yoast) $no_seo = $wpdb->get_var(" SELECT COUNT(p.ID) FROM {$wpdb->posts} p LEFT JOIN {$wpdb->postmeta} pm_rm ON p.ID = pm_rm.post_id AND pm_rm.meta_key = '_rank_math_title' LEFT JOIN {$wpdb->postmeta} pm_yo ON p.ID = pm_yo.post_id AND pm_yo.meta_key = '_yoast_wpseo_title' WHERE p.post_type = 'product' AND p.post_status = 'publish' AND (pm_rm.meta_value IS NULL OR pm_rm.meta_value = '') AND (pm_yo.meta_value IS NULL OR pm_yo.meta_value = '') "); // 7. Products with No Description $no_desc = $wpdb->get_var("SELECT COUNT(ID) FROM {$wpdb->posts} WHERE post_type = 'product' AND post_status = 'publish' AND post_content = ''"); // 8. Inventory Stats $out_of_stock = $wpdb->get_var(" SELECT COUNT(post_id) FROM {$wpdb->postmeta} WHERE meta_key = '_stock_status' AND meta_value = 'outofstock' AND post_id IN (SELECT ID FROM {$wpdb->posts} WHERE post_type = 'product' AND post_status = 'publish') "); // 9. Heavy Images (> 500KB) $heavy_images = $wpdb->get_var("SELECT COUNT(ID) FROM {$wpdb->posts} WHERE post_type = 'attachment' AND post_mime_type LIKE 'image/%' AND post_id IN (SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_thumbnail_id') LIMIT 15"); // 10. No Category $no_category = $wpdb->get_var(" SELECT COUNT(p.ID) FROM {$wpdb->posts} p WHERE p.post_type = 'product' AND p.post_status = 'publish' AND p.ID NOT IN ( SELECT tr.object_id FROM {$wpdb->term_relationships} tr INNER JOIN {$wpdb->term_taxonomy} tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy = 'product_cat' ) "); $stats = [ 'total_products' => intval($total), 'no_image' => intval($no_image), 'no_sku' => intval($no_sku), 'no_price' => intval($no_price), 'no_seo' => intval($no_seo), 'no_description' => intval($no_desc), 'out_of_stock' => intval($out_of_stock), 'duplicate_skus' => intval($duplicate_skus), 'heavy_images' => intval($heavy_images), 'no_category' => intval($no_category) ]; return new \WP_REST_Response($stats, 200); } }