Δεν δουλεύει η συνάρτηση is_home() και η is_archive()

Δεν δουλεύει η συνάρτηση is_home() και η is_archive()

Σε μερικές περιπτώσεις τυγχάνει οι συναρτήσεις is_home() και is_archive() να σταματήσουν να λειτουργούν σε μερικές εγκαταστάσεις του WordPress.

Η is_home() είναι συνάρτηση του WordPress που επιστρέφει true εάν βρισκόμαστε στην αρχική σελίδα της ιστοσελίδας ή false εάν βρισκόμαστε σε οποιαδήποτε άλλη ιστοσελίδα.

Η is_archive() είναι συνάρτηση του WordPress που επιστρέφει true εάν βρισκόμαστε στην σελίδα του archive ή false εάν βρισκόμαστε σε οποιαδήποτε άλλη ιστοσελίδα.

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

Η λύση στο παραπάνω πρόβλημα είναι η wp_reset_query() , μια συνάρτηση που κάνει reset στο query του WordPress. Συγκεκριμένα την χρησιμοποιούμε ως εξής:

<?php
    wp_reset_query();
    if(is_home())   echo "Είμαστε στην αρχική σελίδα!";
?>

Η παραπάνω λύση μπορεί να βοηθήσει και σε άλλες συναρτήσεις που εμφανίζουν πρόβλημα, όπως οι is_category, in_category, is_tag, has_tag κτλ

Προσθήκη σχολίου