My Blog
Εύρεση όλων των προϊόντων woocommerce που είναι draft ή publish με mysql ή php
Άλλο ένα χρήσιμο άρθρο για σκληροπυρηνικούς που δουλεύουν με καταλόγους excel, google spreadsheet ή τρίτες υπηρεσίες κλπ.
Βρείτε γρήγορα τα woocommerce προϊόντα σας που είναι σε κατάσταση draft (πρόχειρα, μη δημόσια) ή σε κατάσταση publish (δημοσιευμένα). Θα πρέπει να έχετε βάλει κωδικό προϊόντως SKU πριν τρέξετε τα παρακάτω.
Σε περίπτωση που επιθυμείτε να το κάνετε απευθείας μέσω διαχειριστικού βάσης mysql με phpmyadmin για παράδειγμα, επιλέξτε την βάση που επιθυμείτε και στην εκτέλεση εντολής δώστε την ακόλουθη:
Για όλα τα προϊόντα σε draft κατάσταση:
SELECT wp_postmeta.meta_value FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_postmeta.meta_key = '_sku' AND wp_posts.post_status = 'draft' AND wp_p$ AND wp_postmeta.meta_value <> ''
Για όλα τα προϊόντα σε publish κατάσταση:
SELECT wp_postmeta.meta_value FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_postmeta.meta_key = '_sku' AND wp_posts.post_status = 'publish' AND wp_p$ AND wp_postmeta.meta_value <> ''
Τώρα αν το θέλετε αυτό σε αρχείο php για να το τραβήξει ως html table κάποια υπηρεσία
πχ το google spreadsheet, δημιουργήστε ένα νέο αρχείο με κατάληξη .php στον server σας.
Μέσα βάλτε τα ακόλουθα (μην ξεχάσετε να βάλετε στοιχεία βάσης δεδομένων):
Για όλα τα προϊόντα σε draft κατάσταση:
<!DOCTYPE html> <html> <body> <?php $servername = "localhost"; $username = "ONOMA_XRHSTH"; $password = "KWDIKOS"; $dbname = "ONOMA_BASHS"; // δημιουργία βάσης $conn = new mysqli($servername, $username, $password, $dbname); // έλεγχος σύνδεσης με βάση if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT wp_postmeta.meta_value FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_postmeta.meta_key = '_sku' AND wp_posts.post_status = 'draft' AND wp_posts.post_type = 'product' AND wp_postmeta.meta_value <> ''"; $result = $conn->query($sql); if ($result->num_rows > 0) { // εξαγωγή δεδομένων από κάθε γραμμή echo " <table>"; while($row = $result->fetch_assoc()) { echo " <tr> <td>". $row["meta_value"]. "</td> </tr> "; } } else { echo "0 results"; } echo "</table> "; $conn->close(); ?> </body> </html>
Για όλα τα προϊόντα σε publish κατάσταση:
<!DOCTYPE html> <html> <body> <?php $servername = "localhost"; $username = "ONOMA_XRHSTH"; $password = "KWDIKOS"; $dbname = "ONOMA_BASHS"; // δημιουργία βάσης $conn = new mysqli($servername, $username, $password, $dbname); // έλεγχος σύνδεσης με βάση if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT wp_postmeta.meta_value FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_postmeta.meta_key = '_sku' AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'product' AND wp_postmeta.meta_value <> ''"; $result = $conn->query($sql); if ($result->num_rows > 0) { // εξαγωγή δεδομένων από κάθε γραμμή echo " <table>"; while($row = $result->fetch_assoc()) { echo " <tr> <td>". $row["meta_value"]. "</td> </tr> "; } } else { echo "0 results"; } echo "</table> "; $conn->close(); ?> </body> </html>
By Nicolas, enjoy 😉
This post is also available in: English