Suchen Sie nach einer Möglichkeit, die Permalinks einmal pro Stunde zu leeren? Während es wahrscheinlich ein Plugin dafür gibt, haben wir einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um Permalinks einmal pro Stunde über einen Cron-Job in WordPress zu leeren.
Um zu bestätigen, dass die Permalinks geleert werden, fügen Sie einfach einen Kommentar direkt vor # END WordPress in die .htaccess-Datei ein. Sobald die Permalinks geleert sind, verschwindet der Kommentar.
Anweisungen:
Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:
// 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();
}
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, ziehen Sie bitte in Betracht, unsere anderen Artikel auf der Website zu lesen, wie z. B.: 15 beste Content-Marketing-Plugins und wie man ein WordPress-Spendenformular erstellt.
Sie könnten WP Cli verwenden, wenn Ihr Hosting dies unterstützt, mit einer Cron-Aufgabe:
`/path/to/wp rewrite flush –path=/path/to/website/files/`
Für diejenigen, die die Permalinks nur einmal täglich leeren müssen, hier ist ein Code-Schnipsel, den Sie verwenden können:
// Permalinks einmal täglich leeren
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(); }
Hallo,
Das ist wirklich nützlich, danke.
Ich wollte das nur verstehen.
Wenn Sie den Hook namens „wp“ verwenden, der meiner Meinung nach nicht existiert, bedeutet das, dass die Funktion „my_activation“ wann ausgeführt werden soll?
Ich versuche zu verstehen, an welchem Punkt diese Funktion aufgerufen wird.
Ich habe Ihren Code-Schnipsel zu meiner functions.php-Datei hinzugefügt und auch einen Kommentar zu meiner .htaccess-Datei hinzugefügt, wie folgt:
# TEST für periodisches Leeren von Rewrite-Regeln
# END WordPress
Mein Testkommentar verschwindet jedoch nicht, und ich frage mich, ob dieser Code-Schnipsel überhaupt funktioniert. Fehlt mir etwas?
Es ist möglich, dass die Datei nicht vom Snippet überschrieben wird. Sie sollten sich vielleicht an den Host wenden.
Danke, Mann!
Aber was ist, wenn ich es alle 10 Minuten tun möchte?
Vielen Dank für diese Erklärung! Ich suchte nach einer Möglichkeit, ein Problem auf meiner Website zu beheben. Denn fast einmal am Tag sind die Permalinks kaputt, und ich muss sie erneut speichern, um sie wieder funktionsfähig zu machen. Ist Ihnen dieses Problem schon einmal aufgefallen? Wissen Sie, was es verursachen könnte?
Vielen Dank nochmals, und ich werde diese Lösung auf meiner Website testen.
Leider sollten Sie einen Entwickler damit beauftragen.