Untitled
<?php // Σύνδεση με το WordPress περιβάλλον require_once(dirname(__FILE__) . '/wp-load.php'); // Σύνδεση με τη βάση δεδομένων global $wpdb; // Παίρνουμε τις παραμέτρους ταξινόμησης από το URL $orderby = isset($_GET['orderby']) ? sanitize_text_field($_GET['orderby']) : 'stock_quantity'; $order = isset($_GET['order']) && strtolower($_GET['order']) === 'asc' ? 'asc' : 'desc'; // Ανάκτηση προϊόντων WooCommerce $products = $wpdb->get_results(" SELECT p.ID, p.post_title, sku.meta_value AS sku, price.meta_value AS price, stock.meta_value AS stock_quantity, sales.meta_value AS total_sales FROM {$wpdb->prefix}posts p LEFT JOIN {$wpdb->prefix}postmeta sku ON p.ID = sku.post_id AND sku.meta_key = '_sku' LEFT JOIN {$wpdb->prefix}postmeta price ON p.ID = price.post_id AND price.meta_key = '_price' LEFT JOIN {$wpdb->prefix}postmeta stock ON p.ID = stock.post_id AND stock.meta_key = '_stock' LEFT JOIN {$wpdb->prefix}postmeta sales ON p.ID = sales.post_id AND sales.meta_key = 'total_sales' WHERE p.post_type = 'product' AND p.post_status = 'publish' ORDER BY {$orderby} {$order} "); // Στυλ πίνακα echo '<style> table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #f2f2f2; cursor: pointer; } tr:nth-child(even) { background-color: #f9f9f9; } tr:hover { background-color: #f1f1f1; } </style>'; // Δημιουργία πίνακα HTML echo '<table>'; echo '<tr>'; echo '<th><a href="?orderby=sku&order=' . (($orderby === 'sku' && strtolower($order) === 'asc') ? 'desc' : 'asc') . '">Barcode</a></th>'; echo '<th><a href="?orderby=post_title&order=' . (($orderby === 'post_title' && strtolower($order) === 'asc') ? 'desc' : 'asc') . '">Όνομα Προϊόντος</a></th>'; echo '<th><a href="?orderby=price&order=' . (($orderby === 'price' && strtolower($order) === 'asc') ? 'desc' : 'asc') . '">Τιμή Πώλησης</a></th>'; echo '<th><a href="?orderby=stock_quantity&order=' . (($orderby === 'stock_quantity' && strtolower($order) === 'asc') ? 'desc' : 'asc') . '">Τρέχον Στοκ</a></th>'; echo '<th><a href="?orderby=total_sales&order=' . (($orderby === 'total_sales' && strtolower($order) === 'asc') ? 'desc' : 'asc') . '">Παραγγελθέντα</a></th>'; echo '</tr>'; // Προβολή προϊόντων foreach ($products as $product) { echo '<tr>'; echo '<td>' . (!empty($product->sku) ? esc_html($product->sku) : '-') . '</td>'; echo '<td>' . esc_html($product->post_title) . '</td>'; echo '<td>' . (!is_null($product->price) ? number_format(floatval($product->price), 2) . ' €' : '-') . '</td>'; echo '<td>' . (!is_null($product->stock_quantity) ? intval($product->stock_quantity) : 'Μη διαθέσιμο') . '</td>'; echo '<td>' . (!is_null($product->total_sales) ? intval($product->total_sales) : '0') . '</td>'; echo '</tr>'; } // Κλείσιμο πίνακα echo '</table>'; ?>
Leave a Comment