X

Comment vider les permaliens avec une tâche cron toutes les heures

Extraits par IsItWP

Vous cherchez un moyen de vider les permaliens une fois par heure ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour vider les permaliens une fois par heure avec une tâche cron dans WordPress.

Pour confirmer que les permaliens sont vidés, ajoutez simplement un commentaire juste avant # END WordPress dans le fichier .htaccess. Une fois les permaliens vidés, le commentaire disparaîtra.

Instructions :

Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

// Flush permalinks every hour 
add_action('my_hourly_event', 'do_this_hourly');

function my_activation() {
	if ( !wp_next_scheduled( 'my_hourly_event' ) ) {
		wp_schedule_event(time(), 'hourly', 'my_hourly_event');
	}
}

add_action('wp', 'my_activation');

function do_this_hourly() {
	global $wp_rewrite;
	$wp_rewrite->flush_rules();
}

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 15 meilleurs plugins de marketing de contenu et comment créer un formulaire de don WordPress.

Commentaires   Laisser une réponse

  1. Vous pourriez utiliser WP Cli si votre hébergement le prend en charge pour cela avec une tâche cron :
    `/chemin/vers/wp rewrite flush –path=/chemin/vers/fichiers/du/site/web/`

  2. Pour ceux qui ont besoin de vider les permaliens une seule fois par jour, voici un extrait de code que vous pouvez utiliser :

    // Vider les permaliens une fois par jour
    add_action(‘my_daily_event’, ‘do_this_daily’);

    function my_activation() { if (!wp_next_scheduled(‘my_daily_event’)) { wp_schedule_event(strtotime(‘midnight’), ‘daily’, ‘my_daily_event’); } }

    add_action(‘wp’, ‘my_activation’);

    function do_this_daily() { flush_rewrite_rules(); }

  3. Bonjour,

    C'est vraiment utile, merci.

    Je voulais juste comprendre ceci.
    Quand vous utilisez le hook nommé ‘wp’ qui, je crois, n’existe pas, cela signifie que la fonction ‘my_activation’ devrait s’exécuter quand ?
    J’essaie de comprendre à quel moment cette fonction sera appelée.

  4. J'ai ajouté votre extrait de code à mon fichier functions.php, et j'ai également ajouté un commentaire à mon fichier .htaccess comme suit :

    # TEST pour la vidange périodique des règles de réécriture
    # FIN WordPress

    Cependant, mon commentaire de test ne disparaît pas, et je me demande si cet extrait de code fonctionne réellement. Est-ce que je manque quelque chose ?

    1. Il est possible que le fichier ne soit pas écrasé par l'extrait. Vous pourriez vouloir contacter l'hébergeur à ce sujet.

  5. Merci, mec !

    Mais, et si je veux le faire toutes les 10 minutes ?

  6. Merci pour cette explication ! Je cherchais un moyen de résoudre un problème sur mon site web. Parce que, presque une fois par jour, les permaliens sont cassés, et je dois les réenregistrer pour qu'ils fonctionnent à nouveau. Avez-vous eu ce problème ? Savez-vous ce qui pourrait en être la cause ?

    Merci encore, et je vais tester cette solution sur mon site web.

    1. Malheureusement, vous pourriez vouloir qu'un développeur examine cela.

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !