Εξαιρέστε ορισμένες κατηγορίες WordPress από τη σελιδοποίηση. Πώς να εξαιρέσετε αναρτήσεις και κατηγορίες από την αρχική σελίδα του WordPress, τη ροή rss, τις κατηγορίες και τα αρχεία χωρίς πρόσθετα

Στην αρχική σελίδα, καθώς και στις σελίδες κατηγοριών, τα αρχεία και τα αποτελέσματα αναζήτησης, συνήθως απαιτείται πλοήγηση στη σελίδα (γνωστή και ως σελιδοποίηση). Τα ιστολόγια στο WordPress δεν αποτελούν εξαίρεση· χρησιμοποιούν επίσης σελιδοποίηση, όταν τα αποτελέσματα της εξόδου πληροφοριών χωρίζονται σε πολλές σελίδες.

Προηγουμένως, για την υλοποίηση αυτής της δυνατότητας, χρησιμοποιήθηκαν πρόσθετα τρίτων ή ειδικές λειτουργίες που βρίσκονταν στο αρχείο λειτουργίες.php. Ωστόσο, με την κυκλοφορία της έκδοσης 4.1 του WordPress, η δυνατότητα σελιδοποίησης ενσωματώθηκε στον πυρήνα του CMS και πλέον οι εσωτερικές λειτουργίες του WordPress είναι αρκετές για την υλοποίηση της πλοήγησης στη σελίδα και δεν χρειάζεται να προσθέσετε κώδικα τρίτων ή πρόσθετα.

Έγραψα νωρίτερα για μια παρόμοια βελτίωση από την πλευρά του WordPress σχετικά με την ετικέτα TITLE - https://aboutwordpress.ru/post/wordpress-title/.

Τι είναι σελιδοποίηση

Η σελιδοποίηση είναι η διαίρεση των πληροφοριών σε σελίδες. Αυτή η έννοια σημαίνει επίσης τη διαδοχική αρίθμηση των σελίδων, που υποδεικνύονται με αριθμούς που βρίσκονται στο κάτω μέρος, στην κορυφή ή στο πλάι της σελίδας.

WP-PageNavi - Πρόσθετο σελιδοποίησης WordPress

Το πιο δημοφιλές πρόσθετο σελιδοποίησης για το WordPress είναι το WP-PageNavi. Για να είμαι ειλικρινής, αντιμετωπίζει την εργασία σελιδοποίησης τόσο καλά που δεν έχει νόημα να συζητάμε και να συγκρίνουμε άλλα πρόσθετα.

Σελιδοποίηση WordPress - Πρόσθετο WP-PageNavi

Σελιδοποίηση WordPress χωρίς πρόσθετο

Για να κάνουμε σελιδοποίηση σε έναν ιστότοπο χωρίς πρόσθετα, θα χρησιμοποιήσουμε την ενσωματωμένη συνάρτηση WordPress the_posts_pagination(). Στη θέση που χρειαζόμαστε, πρέπει να εισάγουμε τον ακόλουθο κώδικα (συνήθως πρόκειται για αρχεία index.php, κατηγορία.phpκαι τα παρόμοια):

Το αποτέλεσμα της συνάρτησης the_posts_pagination() θα είναι περίπου ο ακόλουθος κώδικας HTML:

Αφαίρεση κεφαλίδας H2 από τη σελιδοποίηση

Η κεφαλίδα H2 "Post Navigation" τραβάει αμέσως την προσοχή σας. Το οποίο στις περισσότερες περιπτώσεις δεν έχει θέση στον ιστότοπο. Για να απαλλαγείτε από αυτό, προσθέστε τον ακόλουθο κώδικα στο αρχείο λειτουργίες.php:

/* Κατάργηση H2 από τη σελιδοποίηση */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); συνάρτηση my_navigation_template($template, $class)( return "

"; }

Ρύθμιση σελίδων σελιδοποίησης

Από προεπιλογή, το the_posts_pagination() εμφανίζει την πρώτη και την τελευταία σελίδα, καθώς και μία σελίδα γύρω από την τρέχουσα. Όλα τα άλλα αντικαθίστανται με έλλειψη. Αυτή η συμπεριφορά μπορεί να αλλάξει χρησιμοποιώντας ορίσματα:

  • show_all - εμφάνιση όλων των σελίδων
  • end_size - αριθμός σελίδων στην αρχή και στο τέλος της λίστας
  • mid_size - αριθμός σελίδων στα αριστερά και δεξιά της τρέχουσας σελίδας

Για παράδειγμα όπως αυτό:

2, "end_size" => 2,)); ?>

Στυλ σελιδοποίησης CSS

Αριθμοί σελίδων ( συμπλήρωση: 1% 2%; σκιά πλαισίου: 0 0 10 εικονοστοιχεία #cccc; περιθώριο: 0 1% 0 0; φόντο: #fff; ακτίνα περιγράμματος: 3 εικονοστοιχεία; )

Οι σύνδεσμοι σε σελίδες σελιδοποίησης με αυτά τα στυλ θα μοιάζουν με αυτό:

…πως να το κάνεις? ...γενικά δεν είναι δύσκολο. Και αν το καθήκον είναι ακριβώς να απαγορεύσουμε την εμφάνιση μιας ή άλλης κατηγορίας, τότε θα λύσουμε αυτό το καπρίτσιο σε λίγα λεπτά.

Ωστόσο, υπάρχει μια σύλληψη -

...επιλύοντας το πρόβλημα της απαγόρευσης της εμφάνισης μιας κατηγορίας σε ένα widget, προκύπτει μια ζοφερή σύνδεση με αυτό, δηλαδή το ερώτημα: πώς να ρυθμίσετε την εμφάνιση των κατηγοριών με την απαραίτητη και λογική σειρά, αλλά όχι χαοτικά!;


...θα πρέπει να το σκεφτείς καλά. ...και προσδιορίστε ξεκάθαρα τις ανάγκες σας. Αλλά πρώτα πρώτα: και στο τέλος θα σας δώσω μια τέλεια και έξυπνη λύση για το φιλτράρισμα κατηγοριών...

χρήση της ευκολίας του κώδικα Κατά την εφαρμογή τέτοιων απαγορεύσεων/αδειών αναγκαίου/περιττού περιεχομένου ιστολογίου, αξίζει να έχετε κατά νου κάποια προοπτική για την ανάπτυξη του ιστότοπού σας, ώστε να μην συναντήσετε άλλη συνοδευτική «έκπληξη» να ζει κανείς ή να μην ζειανακατασκευή του ιστολογίου στο μέλλον - είτε με επεξεργασία αρχείων είτε με αντικατάσταση προσθηκών.

Σε τελική ανάλυση, υπάρχει πάντα μια εναλλακτική: αν θα χρησιμοποιήσετε ένα πρόσθετο (ο αριθμός τους "...like shag..." δεν είναι πάντα καλός), ή να γράψετε τον κώδικα στο αρχείο συναρτήσεων - f unctions.php (όχι κακό, αλλά δεν λύνει το πρόβλημα μονοσήμαντα)!?

Αποφάσισε!..

Έχω δείξει την πιθανή τεχνική ανεπάρκεια μιας αλόγιστης έναρξης του ιστολογίου και τώρα προσφέρω πιθανούς τρόπους μιας λογικής λύσης:

Εάν χρειάζεται απλώς να αποκρύψετε μια συγκεκριμένη κατηγορία γραφικού στοιχείου WordPress, η οποία υπάρχει από προεπιλογή στην κοιλιά οποιουδήποτε νέου ιστότοπου, τότε είναι απλό.

Ανοίγουμε το αρχείο που λέγαμε για το functions.php και κάπου στην τελική του αποκωδικοποίηση) πριν από την ετικέτα;> γράφουμε αυτό το σπασμωδικό κωδικοποιημένο φίλτρο.

// ΚΩΔΙΚΟΣ ΕΞΑΙΡΕΣΗΣ ΡΟΥΜΠΡΙΚΟΥ συνάρτηση έναρξης ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //ΚΩΔΙΚΟΣ ΕΞΑΙΡΕΣΗΣ ΓΙΑ ΡΟΥΜΠΡΙΚΕΣ τέλος

Ο αριθμός 39 υποδεικνύει το αναγνωριστικό της κατηγορίας, το οποίο φιλτράρεται σαν άχρηστο παζάρι στον ιστότοπο.

Μπορείτε να καθορίσετε πολλά, χωρισμένα με κόμμα.

...Αυτό είναι, μια από τις ερωτήσεις έκλεισε.

πώς να αποκρύψετε την εμφάνιση μιας υποκατηγορίας σε ένα widget

Η λύση βρίσκεται στην έκδοση κώδικα ακριβώς από κάτω, η οποία απαγορεύει/επιτρέπει την εμφάνιση των ονομάτων ορισμένων υποκατηγοριών (παιδικές αναρτήσεις ιστολογίου).

// κωδικός εξόδου για τις μόνες υποκατηγορίες μιας κατηγορίας με την καθορισμένη συνάρτηση έναρξης ID=7 ext_widget_categories($args)( $args["child_of"] = 7; επιστροφή $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //κωδικός εξόδου για τις μόνες υποκατηγορίες της κατηγορίας με το καθορισμένο τέλος ID=7

Η επιχειρηματολογία αυτών των κωδικών μπορεί να συνδυαστεί.

Ορίστε!! Έχουμε επιτύχει πλήρη έλεγχο του ελέγχου DISPLAY στο widget "Κατηγορίες" όλων των κατηγοριών σας.

...αλλά - πάντως λέμε!! Συμβαίνει συχνά ότι λίγο αργότερα, έχοντας ανοίξει μια σελίδα ιστότοπου, ανακαλύπτεται ένα ακόμη ελάττωμα: οι επικεφαλίδες στο γραφικό στοιχείο της πλαϊνής γραμμής δεν βρίσκονται σε λογική σειρά (τυχαία) - η σχολαστικότητα της ανάπτυξης επαγγελματισμού, ξέρετε.

Σε αυτήν την περίπτωση, πρέπει επίσης να επιλέξετε από πολλές ωραίες επιλογές:

Ας πάμε στο αποθετήριο πρόσθετων WordPress - διαδρομή: κονσόλα/πρόσθετα/προσθήκη πρόσθετου/...εγκατάσταση/ενεργοποίηση... ένα τέτοιο θαύμα Εντολή Κατηγορίας και Όρων Ταξινόμησης.

Τεχνική μετάφραση της προσφοράς στο πρόσθετο:
Παραγγελία κατηγοριών και όλων των όρων ταξινόμησης (προσαρμοσμένο ιεραρχικά) και θυγατρικοί όροι χρησιμοποιώντας δυνατότητες ταξινόμησης Javascript με μεταφορά και απόθεση.
Η προσθήκη δεν έχει μπερδεμένες ρυθμίσεις: το μόνο που χρειάζεται να κάνετε είναι να τοποθετήσετε τον δείκτη του ποντικιού πάνω από τις "εγγραφές" στα αριστερά στην κονσόλα και να δείτε το στοιχείο Ταξινόμηση Ταξινόμησης...

Όλα είναι παραδόξως απλά: σύροντας τους πίνακες, διαμορφώστε τη βέλτιστη ακολουθία για την εμφάνιση των ονομάτων των υπαρχουσών επικεφαλίδων.

Τα μειονεκτήματα της μεθόδου "πρόσθετο" περιλαμβάνουν τα εξής: δεν μπορείτε να απαγορεύσετε την εμφάνιση ορισμένων κατηγοριών...

Επομένως, θα πρέπει να χρησιμοποιήσετε τον κώδικα που προτείνεται παραπάνω ή το πρόσθετο που φαίνεται παρακάτω...

Απαγορεύουμε την εμφάνιση ορισμένων κατηγοριών χρησιμοποιώντας την προσθήκη NS Category Widget

...πάμε πάλι στο αποθετήριο του WordPress και κατεβάζουμε το βύσμα NS Category Widget - αυτό το "άλμα" θα μας δώσει μια άλλη, αλλά πιο κομψή ρύθμιση εκτός από το υπάρχον widget "Categories": δηλαδή - ένα κανονικό widget θα πρέπει να διαγραφεί ή κρυφτεί στο "ανενεργό" και διαμορφώστε αυτήν την προηγμένη επιλογή για τη διαχείριση περιεχομένου: εμφάνιση/αποκλεισμό του.

Μεταβείτε στις ρυθμίσεις του και ορίστε τους δικούς σας κανόνες: ανά αναγνωριστικό κατηγορίας, σημασία ιεραρχιών και παρόμοιες προσαρμογές... Είναι απλό!

Το πρόσθετο σάς επιτρέπει να χρησιμοποιείτε πολλές μονάδες γραφικών στοιχείων στα απαιτούμενα επίπεδα σελίδων, για τις οποίες οι ρυθμίσεις είναι μεμονωμένες, σε αντίθεση με την τυπική "κατηγορία", από την οποία μπορείτε να εμφανίσετε τουλάχιστον μια ντουζίνα, αλλά τις ρυθμίσεις του "κορυφαίου" κώδικα θα ισχύει για όλους: αυτό είναι το μείον της δυνατότητας σύνδεσης ενός τυπικού γραφικού στοιχείου "κατηγορίας" και του κώδικα που περιγράφεται στην αρχή του άρθρου... Και αν σκοπεύετε να χρησιμοποιήσετε πολλές επιλογές για γραφικά στοιχεία κατηγορίας, τότε θα πρέπει ακόμα κατεβάστε το πρόσθετο NS Category Widget.

ΑΛΛΑ! στο προχωρημένο δεν υπάρχει απλούστερη και πιο λεπτή σειρά ταξινόμησης κατηγοριών - αυτό είναι το μειονέκτημά του. Τέτοια σύγχυση!

Η απόφαση είναι δική σου...

...αν είδατε κάτι χρήσιμο στο άρθρο για τον εαυτό σας, υπέροχο!

Γεια σας παιδιά!

Σήμερα θα υπάρχει ένα τεχνικό άρθρο που θα σας δείξει πώς να εξαιρέσετε δημοσιεύσεις από την κύρια σελίδα ενός ιστότοπου WordPress.

Θα μάθετε επίσης πώς να εξαιρείτε ολόκληρες κατηγορίες, όχι μόνο συγκεκριμένες καταχωρήσεις. Θα σας δείξω πολλές επιλογές, με και χωρίς πρόσθετα. Σε γενικές γραμμές, όλα είναι όπως πάντα.

Σε ποιες περιπτώσεις πρέπει να χρησιμοποιείται;

Η ανάγκη εξαίρεσης ορισμένων αναρτήσεων, δηλαδή των ανακοινώσεων τους, από την κύρια σελίδα υπάρχει κυρίως σε προσωπικά ιστολόγια, όταν εκτός από μεγάλα, υψηλής ποιότητας άρθρα για κανονικό κοινό, αξίζει επίσης να γεμίσετε τον πόρο με απλά άρθρα βελτιστοποιημένα για SEO .

Τέτοια άρθρα είναι απίθανο να είναι χρήσιμα στα μέλη του ιστολογίου, αφού τα γνωρίζουν ήδη όλα αυτά. Για να μην γεμίσει η κεντρική σελίδα με περιττές ανακοινώσεις, καλό θα ήταν να μην τις εμφανίσετε. Ταυτόχρονα, θα πρέπει να προστεθούν στον ιστότοπο προκειμένου να προσελκύσουν νέο κοινό στον πόρο από τις μηχανές αναζήτησης. Πρέπει επίσης να εμφανίζονται, αλλά αυτό πρέπει να γίνεται στις σελίδες των ενοτήτων και των αρχείων, έτσι ώστε οι νεοφερμένοι να μπορούν να τα βρουν χρησιμοποιώντας την πλοήγηση στις ενότητες του ιστότοπου.

Για παράδειγμα, δεν θα βρείτε αυτό το άρθρο στην κύρια σελίδα του ιστολογίου μου σε καμία από τις σελίδες σελιδοποίησης τους (πλοήγηση σελίδας). Ταυτόχρονα, η ανακοίνωση του άρθρου είναι ορατή στην ενότητα «Χρήσιμα» και στη σελίδα χάρτη ιστότοπου «Όλα τα άρθρα».

Χωρίς πρόσθετο

Η μέθοδος χωρίς πρόσθετο είναι πάντα προτιμότερη, αλλά σε αυτή την περίπτωση δεν θα είναι προτεραιότητα, αφού για να εξαιρέσετε κάποιο άρθρο θα πρέπει να κάνετε αλλαγές στο αρχείο προτύπου που έχετε εγκαταστήσει κάθε φορά. Ωστόσο, θα δείξω πολλές διαφορετικές επιλογές για την εφαρμογή μιας τέτοιας λύσης, καθώς είναι πολύ πιθανό αυτό να σας ταιριάζει.

Παρακάτω θα δώσω διάφορα κομμάτια κώδικα που πρέπει να τοποθετηθούν στο αρχείο προτύπου functions.php.

Εξαιρούνται συγκεκριμένες εγγραφές με ταυτότητα

Σε αυτήν την επιλογή, δεν χρειάζεται να αποκρύψετε ολόκληρες κατηγορίες από την ορατότητα στην κύρια σελίδα, όπως κάνουν πολλοί με τη βοήθεια διαφόρων πρόσθετων. Το μόνο που έχετε να κάνετε είναι να προσθέσετε στον κωδικό τα αναγνωριστικά των απαιτούμενων εγγραφών.

συνάρτηση exclude_post($query) ( if ($query->is_home) ($query->

if ($query -> is_home )

( $query -> // αναγνωριστικό ανάρτησης

επιστροφή $query ; )

Στη γραμμή 3, οι αριθμοί 1 και 2 είναι εγγραφές ταυτότητας που δεν θα εμφανίζονται στην αρχική σελίδα. Πρέπει να το γράψετε χωρισμένο με κόμμα.

Θα μάθετε το αναγνωριστικό της ανάρτησης, της σελίδας και της κατηγορίας στη γραμμή διευθύνσεων του προγράμματος περιήγησης κατά την προβολή μέσω του προγράμματος επεξεργασίας.

Η επόμενη επιλογή θα σας επιτρέψει να εξαιρέσετε καταχωρήσεις από τη ροή RSS.

Εξαίρεση από τη ροή RSS

Αυτός ο κωδικός θα σας επιτρέψει να εξαιρέσετε ανακοινώσεις από τη ροή ειδήσεων και να μην τις στείλετε μέσω e-mail εάν χρησιμοποιείτε την υπηρεσία συνδρομής και ανακοινώσεων χρησιμοποιώντας το Feedburner.

συνάρτηση exclude_post($query) ( if ($query->is_feed) ($query->set("post__not_in", array(1, 2));) // post (post) id return $query; ) add_filter(" pre_get_posts","exclude_post");

συνάρτηση exclude_post ($query) (

if ($query -> is_feed )

($query -> set ( "post__not_in" , πίνακας ( 1 , 2 ) ) ;) // αναγνωριστικό ανάρτησης

επιστροφή $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Η προσθήκη εγγραφών σε αυτήν την περίπτωση και σε όλες τις άλλες γίνεται με τον ίδιο τρόπο.

Εξαίρεση από κατηγορίες και αρχεία

Για να εξαιρέσετε αναρτήσεις από σελίδες κατηγοριών, θα πρέπει να χρησιμοποιήσετε τον παρακάτω κώδικα.

συνάρτηση exclude_post($query) ( if ($query->is_category) ($query->set("post__not_in", array(1, 2));) // post (post) id return $query; ) add_filter(" pre_get_posts","exclude_post");

συνάρτηση exclude_post ($query) (

if ($query -> is_category )

($query -> set ( "post__not_in" , πίνακας ( 1 , 2 ) ) ;) // αναγνωριστικό ανάρτησης

επιστροφή $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Αυτός ο κώδικας μπορεί να τροποποιηθεί για να εφαρμόσει μια εξαίρεση από τα αρχεία. Είναι απαραίτητο να αντικαταστήσετε τη συνάρτηση is_category με is_archive στο 2ο κτίριο.

Εξαίρεση από τη σελίδα αναζήτησης

Αυτή η επιλογή μπορεί επίσης να απαιτείται εάν ορισμένες εγγραφές δεν πρέπει να εμφανίζονται στους επισκέπτες όταν χρησιμοποιούν την αναζήτηση ιστότοπου. Για παράδειγμα, αυτά θα μπορούσαν να είναι διάφορα άρθρα ειδήσεων που δεν περιέχουν περιεχόμενο σχετικά με το θέμα του ιστότοπου.

συνάρτηση exclude_post($query) ( if ($query->is_search) ($query->set("post__not_in", array(1, 2));) // post id return $query; ) add_filter(" pre_get_posts", "exclude_post");

συνάρτηση exclude_post ($query) (

if ($query -> is_search )

($query -> set ( "post__not_in" , πίνακας ( 1 , 2 ) ) ;) // αναγνωριστικό ανάρτησης

επιστροφή $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Συνδυάζοντας πολλές επιλογές

Μπορείτε να συνδυάσετε όλες τις παραπάνω επιλογές και να εξαιρέσετε εγγραφές από όλους τους τύπους σελίδων ταυτόχρονα ή επιλεκτικά στις απαραίτητες.

Εάν κοιτάξετε καλά όλους τους κωδικούς, τότε στη 2η γραμμή μπορείτε να δείτε μια συνθήκη στην οποία η παράμετρος τύπους σελίδας έχει ρυθμιστεί ώστε να απενεργοποιεί την εμφάνιση των ανακοινώσεων ανάρτησης σε αυτούς:

  • is_search
  • είναι_κατηγορία
  • is_feed
  • είναι σπίτι

Μπορείτε να συνδυάσετε όλες τις επιλογές και να εξαιρέσετε αναρτήσεις από παντού ή σε ορισμένες σελίδες. Για παράδειγμα, για εξαιρέσεις από κατηγορίες και κύρια, θα πρέπει να τοποθετήσετε τον ακόλουθο κώδικα στο αρχείο functions.php.

συνάρτηση exclude_post($query) ( if ($query->is_category || ($query->is_home)) ($query->set("post__not_in", array(1, 2));) // post id ) return $query; ) add_filter("pre_get_posts","exclude_post");

συνάρτηση exclude_post ($query) (

if ($query -> is_category || ($query -> is_home) )

($query -> set ( "post__not_in" , πίνακας ( 1 , 2 ) ) ;) // αναγνωριστικό ανάρτησης

επιστροφή $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Η 2η γραμμή με την συνθήκη (αν) περιέχει παραμέτρους για κατηγορίες (is_category) ή home (is_home).

Σημειώστε ότι κάθε επόμενη παράμετρος γράφεται μέσα στην προηγούμενη μέσω 2 κάθετων ράβδων και βρίσκεται στις δικές της αγκύλες. Δηλαδή, αν κοιτάξετε τον προηγούμενο κώδικα, θα δείτε ότι η δεύτερη συνθήκη για την κύρια σελίδα περικλείεται στις δικές της αγκύλες και βρίσκεται μέσα στις γενικές αγκύλες που αναδιπλώνουν την πρώτη συνθήκη για τις κατηγορίες.

Αν αξίζει να προσθέσετε κάποια τρίτη συνθήκη, για παράδειγμα για σελίδες αρχειοθέτησης, τότε αξίζει να την προσθέσετε μέσα σε αγκύλες με την προϋπόθεση για την κύρια (is_home) και να την γράψετε μέσα από 2 κάθετες ράβδους. Στην πράξη μοιάζει με αυτό.

συνάρτηση exclude_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive))) ($query->set("post__not_in", array(1, 2) );) // αναγνωριστικό ανάρτησης επιστρέφει $query; ) add_filter("pre_get_posts","exclude_post");

συνάρτηση exclude_post ($query) (

if ($query -> is_category || ($query -> is_home || ($query -> is_archive ) ) )

($query -> set ( "post__not_in" , πίνακας ( 1 , 2 ) ) ;) // αναγνωριστικό ανάρτησης

επιστροφή $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Χρησιμοποιώντας την ίδια αρχή, προσθέστε άλλους τύπους σελίδων για εξαίρεση.

Η επόμενη επιλογή για την εξαίρεση εγγραφών είναι να εξαιρεθούν ολόκληρες επικεφαλίδες (κατηγορίες).

Εξαιρούνται ολόκληρες κατηγορίες

Αυτό είναι πολύ βολικό για τεμπέληδες, όταν μπορείτε απλά να δημιουργήσετε κάποιο είδος κατηγορίας και να προσθέσετε εκεί όλες τις αναρτήσεις που δεν απαιτούν εμφάνιση σε συγκεκριμένους τύπους σελίδων.

Η δομή του κώδικα είναι σχεδόν η ίδια. Αλλάζει μόνο την παράμετρο που καθορίζει την εξαίρεση μιας ανάρτησης ή μιας κατηγορίας. Στις περιπτώσεις που συζητήθηκαν προηγουμένως, η τελευταία γραμμή ορίστηκε ως exclude_post. Στον νέο κωδικό θα πρέπει να αντικατασταθεί με exclude_cat.

συνάρτηση exclude_cat($query) ( if ($query->is_home) ($query->set("cat","-1, -2, -3");) // id κατηγορίας return $query; ) add_filter( "pre_get_posts","exclude_cat");

συνάρτηση exclude_cat ($query) (

if ($query -> is_home )

( $query -> set ("cat" , "-1, -2, -3" ) ;) // αναγνωριστικό κατηγορίας

επιστροφή $query ; )

add_filter ("pre_get_posts" , "exclude_cat" );

Όπως μπορείτε να δείτε, η τελευταία γραμμή έχει υποστεί αλλαγές και η 3η γραμμή, όπου έχει αλλάξει η παράμετρος που διαβάζει το αναγνωριστικό κατηγορίας. Το αναγνωριστικό σε αυτή την περίπτωση γράφεται μέσα από μια παύλα, αλλά και από ένα κόμμα.

Η αρχή της δημιουργίας συνθηκών για τους τύπους σελίδων είναι παρόμοια με τις επιλογές που συζητήθηκαν προηγουμένως, όπου έδειξα το παράδειγμα της εξαίρεσης συγκεκριμένων αναρτήσεων. Αξίζει να αλλάξετε τη 2η γραμμή, προσθέτοντας τις απαραίτητες παραμέτρους για κατηγορίες, αναζήτηση, αρχεία ή ροές RSS.

Έτσι, εξετάσαμε μεθόδους χωρίς πρόσθετο. Υπάρχει επίσης μια επιλογή εξαίρεσης καταχωρίσεων σχετικά με ετικέτες, αλλά τώρα οι ετικέτες δεν είναι πλέον πολύ σχετικές για το 99% των πόρων. Εάν χρειάζεστε τέτοιες πληροφορίες, γράψτε σχετικά στα σχόλια. Θα προσθέσω τα πάντα αμέσως.

Πρόσθετα

Τα πρόσθετα είναι μια πιο ευέλικτη λύση σε αυτό το θέμα, καθώς όταν εξαιρούνται συγκεκριμένες καταχωρήσεις δεν χρειάζεται να επεξεργάζεστε το αρχείο προτύπου κάθε φορά. Αξίζει να βάλετε ένα πλαίσιο ελέγχου στον επεξεργαστή των επιθυμητών αναρτήσεων κατά τη δημοσίευσή τους ή μετά.

Εάν αξίζει να εξαιρέσετε μια ειδική κατηγορία που δημιουργήθηκε για άρθρα που δεν απαιτούν εμφάνιση, τότε είναι προτιμότερο να χρησιμοποιήσετε έναν από τους κωδικούς που παρέχονται παραπάνω.

Απλά Εξαιρέστε την προσθήκη

Μπορείτε να κάνετε λήψη της προσθήκης είτε μέσω της κονσόλας του WordPress χρησιμοποιώντας την αναζήτηση, είτε από επίσημη ιστοσελίδα WordPress.

Μετά την ενεργοποίηση, θα λειτουργεί ήδη και δεν χρειάζεται να το διαμορφώσετε. Ωστόσο, συνιστώ να κάνετε κάποιες αλλαγές για να κάνετε πιο ευχάριστη την εργασία με τις λειτουργίες του.

Μετά την εγκατάσταση και την ενεργοποίηση, πηγαίνουμε αμέσως στις ρυθμίσεις του.

Αρχικά, στις ρυθμίσεις του plugin όλα ρυθμίζονται έτσι ώστε όταν ενεργοποιηθεί το πλαίσιο ελέγχου (θα το δούμε παρακάτω), οι απαιτούμενες σελίδες (αναρτήσεις, κατηγορίες, σελίδες) θα επισημαίνονται ως "επιτρέπεται για εμφάνιση". Έτσι, για κάθε τύπο σελίδας θα πρέπει να τσεκάρετε όλα τα πλαίσια ελέγχου ώστε να εμφανίζονται τα πάντα.

Θα ήταν πιο λογικό να ορίσετε αυτήν την επιλογή όταν, ενεργοποιώντας ένα πλαίσιο ελέγχου (για παράδειγμα, για την κύρια σελίδα), θα επισημάνει ένα άρθρο ή κάτι άλλο ως απαγορευμένο για προβολή.

Στις ρυθμίσεις υπάρχουν 3 καρτέλες που έχουν σχεδιαστεί για να διαμορφώνουν ρυθμίσεις για διαφορετικούς τύπους σελίδων:

  • Ταξινομίες (ταξονομίες) - ρυθμίσεις για τη λειτουργία του πρόσθετου σε ενότητες του πίνακα διαχείρισης του WordPress: κατηγορίες και ετικέτες.
  • Τύποι αναρτήσεων - για τύπους αναρτήσεων: άρθρα και σελίδες.
  • Χρήστες - ρυθμίσεις για χρήστες.

Τώρα θα δώσω ένα στιγμιότυπο οθόνης των ρυθμίσεων της πρώτης καρτέλας (ταξονομία) και θα εξηγήσω τις παραμέτρους που πρέπει να ρυθμιστούν.

  • Στο πρώτο μπλοκ ρυθμίσεων "Ενεργό" πρέπει να ορίσετε το πλαίσιο ελέγχου "Ενεργό", ώστε το πρόσθετο να προσθέτει τα απαραίτητα πλαίσια ελέγχου για να απενεργοποιήσει την εμφάνιση σε κατηγορίες ή οποιουσδήποτε άλλους τύπους σελίδων.
  • Στο δεύτερο μπλοκ ορίζουμε όλες τις παραμέτρους απέναντι από την επιλογή "Exclude". Σημαίνει ότι εάν το πλαίσιο ελέγχου είναι ενεργοποιημένο στον επεξεργαστή κάθε τύπου σελίδας, θα κρυφτεί από την εμφάνιση και τα νέα άρθρα θα είναι ανοιχτά για εμφάνιση από προεπιλογή. Εάν ορίσετε την παράμετρο "Include only", τότε επιλέγοντας το πλαίσιο ελέγχου, οι καταχωρήσεις θα είναι ανοιχτές για εμφάνιση και τα νέα άρθρα θα κρύβονται από προεπιλογή. Εάν έχει επιλεγεί η δεύτερη επιλογή "Include only", τότε μετά την εγκατάσταση του plugin όλες οι καταχωρήσεις θα είναι κρυφές και θα πρέπει να ορίσετε την επιλογή "Exclude".
  • Στο μπλοκ "Εμφάνιση/Απόκρυψη", ορίστε την παράμετρο "Εμφάνιση" έτσι ώστε να εμφανίζονται τα απαραίτητα πλαίσια ελέγχου σε κάθε τύπο σελίδας για τη δυνατότητα απενεργοποίησης ή ενεργοποίησης της εμφάνισης.

Οι ίδιες παράμετροι θα πρέπει να εισαχθούν στις υπόλοιπες 2 καρτέλες των ρυθμίσεων της προσθήκης Simply Exclude.

Για παράδειγμα, εδώ είναι ένα στιγμιότυπο οθόνης της καρτέλας "Τύποι αναρτήσεων".

Φυσικά, μπορείτε να απενεργοποιήσετε τη λειτουργία ορισμένων λειτουργιών, για παράδειγμα, στην πρώτη καρτέλα μπορείτε να απενεργοποιήσετε το πρόσθετο για κατηγορίες εάν δεν πρόκειται να εξαιρέσουμε όλες τις αναρτήσεις μιας ολόκληρης κατηγορίας.

Τώρα σχετικά με τη δουλειά του ίδιου του plugin. Όταν έχετε ορίσει τις απαραίτητες παραμέτρους, μπορείτε να μεταβείτε στο πρόγραμμα επεξεργασίας για κάθε τύπο ανάρτησης και να βάλετε πλαίσια ελέγχου δίπλα σε εκείνες τις σελίδες όπου θέλετε να εξαιρέσετε την εμφάνισή τους.

Για παράδειγμα, για να ορίσετε τις ρυθμίσεις για αναρτήσεις, μπορείτε να μεταβείτε στον επεξεργαστή του απαιτούμενου άρθρου ή μέσω του στοιχείου όλα τα άρθρα. Τόσο εκεί όσο και εκεί θα υπάρχουν τα απαραίτητα πλαίσια ελέγχου. Στο πρόγραμμα επεξεργασίας, στη δεξιά στήλη θα υπάρχει ένα μπλοκ "Simply Exclude" που περιέχει 4 πλαίσια ελέγχου για την απόκρυψη αναρτήσεων και σελίδων:

  • Αρχεία - κατηγορίες και αρχεία.
  • Feeds - RSS feeds.
  • Μπροστά/Σπίτι - κύρια;
  • Αναζητήσεις - αναζήτηση.

Επιλέγοντας το απαιτούμενο πλαίσιο ελέγχου, μπορείτε να αποκρύψετε την ανάρτηση από έναν συγκεκριμένο τύπο σελίδας.

Στον πίνακα διαχείρισης του WordPress "Όλες οι αναρτήσεις" απέναντι από κάθε υλικό σε μια νέα στήλη που ονομάζεται "Απλώς Εξαίρεση εμφάνισης" θα υπάρχουν επίσης αυτά τα 4 πλαίσια ελέγχου. Το ίδιο ισχύει και για τις ρουμπρίκες. Θα προστεθεί μια νέα στήλη με όλα τα πλαίσια ελέγχου.


Αυτό είναι όλο για αυτό το πρόσθετο. Με την εγκατάστασή του, μπορείτε πολύ γρήγορα και με ευελιξία να αλλάξετε τις παραμέτρους εμφάνισης συγκεκριμένων αναρτήσεων ή ολόκληρων κατηγοριών χωρίς να παρεμβαίνετε στα αρχεία προτύπων.

Εξαίρεση προσθήκης Κατηγοριών

Η προσθήκη προορίζεται μόνο για την απόκρυψη μιας ολόκληρης κατηγορίας από την κύρια σελίδα και τη ροή RSS. Δεδομένου ότι αυτή η επιλογή δεν απαιτεί μεγάλη ευελιξία (δημιούργησα μια κατηγορία και πρόσθεσα άρθρα εκεί), προτείνω να εφαρμόσετε την εξαίρεση μιας ολόκληρης κατηγορίας χρησιμοποιώντας κώδικα (βλ. σημείο 2).

Μπορείτε να κάνετε λήψη του πρόσθετου χρησιμοποιώντας το παρακάτω κουμπί.

Αφού το εγκαταστήσετε, μεταβείτε στις ρυθμίσεις (Ρυθμίσεις - Εξαίρεση κατηγορίας) και επιλέξτε την απαιτούμενη κατηγορία για να την εξαιρέσετε από την κεντρική σελίδα.

Η εξαίρεση όλων των εγγραφών σε μια κατηγορία είναι μια κοινή επιλογή. Αλλά βλέπω ένα μειονέκτημα σε αυτό, καθώς ο ιστότοπος πρέπει να δημοσιεύει πολλά άρθρα για να προσελκύσει επισκεψιμότητα αναζήτησης και όλα θα αφορούν διαφορετικά θέματα του ίδιου θέματος.

Αλλά το να βάλετε διάφορα υλικά σε μια κατηγορία δεν είναι πολύ καλό.

Αυτή η επιλογή χρησιμοποιείται επίσης συχνά κατά την ενεργή πώληση συνδέσμων σε έναν ιστότοπο. Ο ιδιοκτήτης δημιουργεί μια ενότητα και δημοσιεύει όλα τα άρθρα με συνδέσμους πωλήσεων σε αυτήν. Και αυτό επίσης δεν είναι πολύ καλό, καθώς πλέον οι webmasters απαιτούν την τοποθέτηση ενός συνδέσμου σε μία από τις κύριες ενότητες του ιστότοπου, έτσι ώστε να είναι τουλάχιστον ελαφρώς δεκτό και να έχει αποτέλεσμα κατά την προώθηση.

Αυτό ήταν, παιδιά, σε αυτό το σημείωμα ολοκληρώνω αυτό το λεπτομερές εγχειρίδιο, το οποίο θα σας φανεί χρήσιμο εάν βρίσκεστε στο σωστό μέρος για αυτό το άρθρο. Ελπίζω να πάνε όλα καλά για σένα.

Σας εύχομαι μια υπέροχη διάθεση και μια υπέροχη μέρα. Τα λέμε.

Με εκτίμηση, Konstantin Khmelev!

Σήμερα είναι ένα άρθρο σχετικά με το πώς μπορείτε χειροκίνητα, χωρίς τη χρήση πρόσθετων, να εξαιρέσετε κατηγορίες από την κύρια σελίδα ενός ιστότοπου WordPress.

Υπάρχουν διάφοροι τρόποι για να εξαιρέσετε αναρτήσεις από μια συγκεκριμένη κατηγορία στην κύρια σελίδα του ιστότοπου του ιστολογίου σας. Ένας από τους ευκολότερους τρόπους, κατά τη γνώμη μου, είναι να προσθέσετε ένα μικρό κομμάτι κώδικα στο αρχείο λειτουργίες.php. Αυτό το κομμάτι κώδικα θα είναι ένα είδος φίλτρου που θα μας σώσει από το να χρειαστεί να αλλάξουμε άλλα αρχεία θεμάτων. Χρησιμοποιώντας αυτήν τη μέθοδο, δεν χρειάζεται να χάσετε χρόνο για να επεξεργαστείτε ξανά τον κύκλο εξόδου εγγραφών σε ένα αρχείο index.phpδιά μέσου query_posts.

Λοιπόν, ας δούμε ένα παράδειγμα:

1) Ας υποθέσουμε ότι πρέπει να διαγράψουμε καταχωρήσεις από μια κατηγορία της οποίας ο αριθμός αναγνώρισης είναι 4, δηλαδή ID = 4. Με άλλα λόγια, πρέπει να εξαιρέσουμε δημοσιεύσεις από την κατηγορία των οποίων το αναγνωριστικό είναι 4 από την κύρια σελίδα.

2) Αποφασίσαμε τις εργασίες, ας αρχίσουμε να τις υλοποιούμε - για αυτό θα τις προσθέσουμε στο αρχείο λειτουργίες.phpτο ακόλουθο κομμάτι κώδικα:

Συνάρτηση removeFromHome($query) ( if ($query->is_home) ($query->

Αποθηκεύουμε το τροποποιημένο αρχείο λειτουργίες.phpκαι βλέπουμε ότι δεν υπάρχουν άλλες καταχωρήσεις από την κατηγορία ID=4 στην κεντρική σελίδα.

Από την άποψη της λογικής του WordPress, η κύρια σελίδα είναι επίσης οποιαδήποτε άλλη σελίδα που σχηματίζεται από την πλοήγηση στη σελίδα. Έτσι, δεν θα δούμε αναρτήσεις από την εξαιρούμενη κατηγορία ID=4 στη σελίδα 2, 3 ή 4 κ.ο.κ.

Εάν αυτή η επιλογή δεν σας ταιριάζει, τότε μπορείτε να αλλάξετε ελαφρώς τον παραπάνω κωδικό σε αυτό:

Συνάρτηση removeFromHome($query) ( if ($query->is_home && !(is_paged())) ($query->set("cat","-5");) return $query; ) add_filter("pre_get_posts" "removeFromHome");

Αποθηκεύουμε και πλέον σε κάθε σελίδα, εκτός από την κύρια σελίδα, θα εμφανίζονται κανονικά καταχωρήσεις από την κατηγορία με ID=4.

Εξαίρεση καταχωρήσεων κατηγορίας από τα αποτελέσματα αναζήτησης

Εάν πρέπει να εξαιρέσετε καταχωρήσεις κατηγορίας από τη σελίδα αποτελεσμάτων αναζήτησης, τότε απλώς πρέπει να αλλάξετε είναι σπίτιεπί is_search.

Για να εξαιρέσετε καταχωρήσεις από πολλές κατηγορίες, πρέπει να αναφέρετε τα αναγνωριστικά αυτών των κατηγοριών διαχωρισμένα με κόμμα στους παραπάνω κωδικούς. Ας υποθέσουμε ότι πρέπει να εξαιρέσετε κατηγορίες των οποίων τα αναγνωριστικά είναι 3,7,8,9. Τότε ο κώδικας θα έχει τις ακόλουθες αλλαγές:

Συνάρτηση removeFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-3, -7, -8, -9");) return $query; ) add_filter(" pre_get_posts","removeFromFeed");

Εξαίρεση καταχωρήσεων κατηγορίας από τη ροή RSS

Τι πρέπει να κάνετε εάν πρέπει να εξαιρέσετε αναρτήσεις από μια συγκεκριμένη κατηγορία από τη ροή RSS σας; Και μπορείτε να το κάνετε πολύ απλά - χρησιμοποιήστε τον παρακάτω κώδικα:

Συνάρτηση removeFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-4");) return $query; ) add_filter("pre_get_posts","removeFromFeed");

Αποθηκεύουμε τις αλλαγές και βλέπουμε ότι δεν υπάρχουν άλλες αναρτήσεις στη ροή από την κατηγορία που δεν χρειαζόμαστε.

Εξαίρεση καταχωρήσεων κατηγορίας από τη ροή RSS και την κύρια σελίδα

Εάν ξαφνικά πρέπει να βεβαιωθείτε ότι οι αναρτήσεις από μια συγκεκριμένη κατηγορία δεν εμφανίζονται στην κύρια σελίδα και στη ροή, τότε πρέπει να χρησιμοποιήσετε τον ακόλουθο κώδικα:

Συνάρτηση removeCat($query) ( if ($query->is_feed || ($query->is_home && !(is_paged()))) ($query->set("cat","-3,-7") ;) επιστροφή $query; ) add_filter("pre_get_posts","removeCat");

Σε αυτήν την περίπτωση, οι καταχωρήσεις σε κατηγορίες των οποίων το αναγνωριστικό είναι 3 δεν θα εμφανίζονται στην κύρια σελίδα και στη ροή RSS, αλλά θα εμφανίζονται όταν ανοίγουν άλλες σελίδες.

Αλλαγές στο αρχείο λειτουργίες.phpμπορεί να εισαχθεί οπουδήποτε, αλλά χωρίς να αγγίξετε τον κωδικό άλλης λειτουργίας. Ο ευκολότερος τρόπος είναι να προσθέσετε τον κώδικα στο τέλος του αρχείου.

Είναι γνωστό ότι η σελιδοποίηση προκαλεί διπλασιασμό των σελίδων. Αυτό, με τη σειρά του, μπορεί να οδηγήσει στο γεγονός ότι ένας τέτοιος ιστότοπος μπορεί να "κρεμάσει" στα αποτελέσματα αναζήτησης. Σε αυτήν την περίπτωση, η μόνη διέξοδος από αυτήν την κατάσταση είναι να βεβαιωθείτε ότι τα ρομπότ αναζήτησης δεν «βλέπουν» ότι υπάρχει σελιδοποίηση οπουδήποτε στον ιστότοπο.

Πώς να αποκλείσετε τη σελιδοποίηση από την ευρετηρίαση;

Μια μέθοδος για την επίλυση αυτού του προβλήματος είναι να προσθέσετε μια οδηγία noindex στις σελίδες σελιδοποίησης. Στο τέλος θα πρέπει να φαίνονται ως εξής:

Το noindex είναι μια ειδική οδηγία που χρησιμοποιείται για τον προσδιορισμό συνδέσμων που δεν είναι επιθυμητοί για ευρετηρίαση από τις μηχανές αναζήτησης. Όταν ένα ρομπότ αναζήτησης πέσει πάνω του, θα «καταλάβει» αμέσως ότι αυτή η σελίδα δεν χρειάζεται να ληφθεί υπόψη. Απλώς θα το παραλείψει, γι' αυτό και δεν θα συμπεριληφθεί στη λίστα με αυτά που πρέπει να προστεθούν στο ευρετήριο.

Από όλους τους τρόπους επίλυσης του προβλήματος, ο πιο σωστός και πιο εύκολος για έναν χρήστη του WordPress είναι ένα πρόσθετο, το οποίο θα κρύψει τη σελιδοποίηση από τις μηχανές αναζήτησης με δύο κλικ. Για να το κάνετε αυτό, απλώς μεταβείτε στην ενότητα διαχειριστή Clearfy Pro, μετά στην καρτέλα SEOενεργοποίηση επιλογής Noindex για σελιδοποίηση.

Εκτός από το πρόσθετο Clearfy Pro, υπάρχουν άλλοι, λιγότερο βολικοί, τρόποι για να αποκλείσετε τη σελιδοποίηση από τα ρομπότ. Ας δούμε τα πιο δημοφιλή από αυτά.

Μέθοδος 1: αρχείο functions.php

Αυτή η μέθοδος περιλαμβάνει την προσθήκη ειδικού κώδικα PHP στο ενεργό αρχείο θέματός σας.

Εάν δεν ξέρετε πώς να επεξεργαστείτε το functions.php, τότε το πρόσθετο θα σας βοηθήσει.

Έτσι, στο τέλος πρέπει να προσθέσετε τις ακόλουθες γραμμές:

Συνάρτηση wpschool_noindex_pagination() ( if(is_paged()) echo " "; ); add_action("wp_head", "wpschool_noindex_pagination");

Ως αποτέλεσμα του κώδικα που εκτελείται στις σελίδες σελιδοποίησης (ξεκινώντας από τη δεύτερη), στην ενότητα , θα υπάρχει η παραπάνω γραμμή:

Μέθοδος 2. Αρχείο Robots.txt

Μπορείτε επίσης να προσθέσετε noindex για σελίδες σελιδοποίησης μέσω ενός ειδικού αρχείου robots.txt, το οποίο βρίσκεται στον ριζικό κατάλογο του ιστότοπού σας. Πρέπει να προσθέσετε την ακόλουθη γραμμή σε αυτό:

Απαγόρευση: */σελίδα/

Αυτή η μέθοδος είναι παρόμοια με την προηγούμενη και δίνει το ίδιο αποτέλεσμα.