Σε αυτό το άρθρο θα δούμε πως μπορούμε να αποκρύψουμε τα προϊόντα μιας συγκεκριμένης κατηγορίας από την σελίδα του WooCommerce καταστήματός μας.
Έστω λοιπόν ότι στο κατάστημα μας έχουμε 3 κατηγορίες προϊόντων οι οποίες είναι:
- Βιβλία
- Ταινίες
- Παιχνίδια
και εμείς επιθυμούμε να κρύψουμε τα προϊόντα της κατηγορίας “Βιβλία” προκειμένου αυτά να πάψουν να εμφανίζονται και έτσι οι χρήστες του ηλεκτρονικού καταστήματός μας να μην μπορούν να τα δουν και να τα παραγγείλουν.
Πριν ξεκινήσουμε να κάνουμε οτιδήποτε από τα παρακατω θα πρέπει πρώτα να κρατήσουμε αντίγραφο ασφαλείας της ιστοσελίδας μας (backup).
Βήμα 1ο

Στον πίνακα ελέγχου της ιστοσελίδας μας επιλέγουμε το μενού “Προϊόντα” και στην συνέχεια το “Κατηγορίες” και εντοπίζουμε το slug της κατηγορίας “Βιβλία”, το οποίο στο παράδειγμά μας είναι το “vivlia” όπως φαίνεται στην εικόνα πιο πάνω. Αφού εντοπίσουμε το slug της κατηγορίας, το αντιγράφουμε στο πρόχειρο μας.
Βήμα 2ο

Τώρα θα πρέπει να επεξεργαστούμε το αρχείο functions.php το οποίο βρίσκεται μέσα στον φάκελο του theme που χρησιμοποιεί η ιστοσελίδα μας. Ο πιο γρήγορος τρόπος που όμως απαιτεί πολύ μεγάλη προσοχή είναι πηγαίνοντας στο μενού “Εμφάνιση” και στην συνέχεια “Διορθωτής Θεμάτων“.
Πρώτα θα πρέπει από το πεδίο πάνω δεξιά “Επιλογή θέματος για επεξεργασία” να βεβαιωθούμε ότι βλέπουμε τα αρχεία του theme που χρησιμοποιεί η ιστοσελίδα μας. Στην δική μας περίπτωση το Twenty Twenty-One
Στην συνέχεια από την δεξιά στήλη επιλέγουμε το αρχείο “Συναρτήσεις θέματος” (functions.php).
Αφού εμφανιστούν τα περιεχόμενα του συγκεκριμένου αρχείου κατεβαίνουμε τέρμα κάτω και εισάγουμε τον παρακάτω κώδικα και κάνουμε ενημέρωση του αρχείου:
/**
* Απόκρυψη προϊόντων μιας συγκεκριμένης κατηγορίας
*/
function custom_pre_get_posts_query( $q ) {
$tax_query = (array) $q->get( 'tax_query' );
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'vivlia' ), // Απόκρυψη των προϊόντων της κατηγορίας Βιβλία.
'operator' => 'NOT IN'
);
$q->set( 'tax_query', $tax_query );
}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );
ΠΡΟΣΟΧΗ: Θα πρέπει να αντικαταστήσετε το slug “vivlia” με το slug της δικής σας κατηγορίας προϊόντων και μετά να το εισάγετε στο functions.php.
Αυτό ήταν! Πλέον τα προϊόντα της συγκεκριμένης κατηγορίας θα πάψουν να εμφανίζονται στο ηλεκτρονικό σας κατάστημα. Σημειώνουμε ότι τα προϊόντα δεν διαγράφονται, απλά δεν εμφανίζονται.
Υπενθυμίζουμε για ακόμα μια φορά πως πρέπει πριν κάνουμε οτιδήποτε από τα παραπάνω θα πρέπει να κρατήσουμε αντίγραφο ασφαλείας της ιστοσελίδας μας (backup).