Débarrassez-vous des archives de catégories, de balises et d'auteurs Wordpress?


9

J'ai cherché sur le net sans succès sur ce qui devrait être une chose facile.

J'ai un blog hautement personnalisé avec des pages, des sous-pages et des articles. Bien que je compte beaucoup sur l'utilisation de catégories et de balises, je ne veux pas qu'elles soient visibles dans une URL. Il en va de même pour les auteurs et les catégories de dates. Fondamentalement, je ne veux pas lancer d'erreur 404 si quelqu'un essaie d'accéder à ces pages. Quelqu'un peut me diriger dans la bonne direction? Merci!

Les éléments suivants ne devraient pas être accessibles:

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

Réponses:


5

en s'appuyant sur la réponse de chrisguitarguy, voici un extrait rapide que vous pouvez déposer dans le fichier functions.php de votre thème pour faire le travail

add_action('template_redirect', 'wpse69948_archive_disabler');
function wpse69948_archive_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

7

J'ai écrit un plugin pour cela - qui nécessite une mise à jour, mais cela devrait toujours fonctionner correctement.

Essentiellement, vous vous connectez à un endroit tard après que WordPress sait quelle page est demandée (comme template_redirect), utilisez l'une des fonctions conditionnelles et utilisez $wp_query->set_404()ou redirigez simplement l'utilisateur vers une page de votre choix.

Pour désactiver les catégories, les balises, les archives d'auteur et de date:

<?php
add_action('template_redirect', 'wpse69948_tag_disabler');
function wpse69948_tag_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

Fait parfaitement le travail! Merci beaucoup, également d'avoir fourni le lien utile vers les fonctions conditionnelles!
psot

Semble un peu exagéré d'avoir cela en tant que plugin autonome. Il semble que la plupart des auteurs de thèmes devraient pouvoir le faire dans functions.php ou dans un plugin personnalisé.
serraosays
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.