X

Come svuotare i Permalink con un processo Cron Orario

Snippet di IsItWP

Stai cercando un modo per svuotare i permalink una volta all'ora? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per svuotare i permalink una volta all'ora con un processo cron in WordPress.

Per confermare che i permalink vengano svuotati, aggiungi semplicemente un commento appena prima di # END WordPress nel file .htaccess. Una volta svuotati i permalink, il commento scomparirà.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

// 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();
}

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 15 migliori plugin per il content marketing e come creare un modulo di donazione WordPress.

Commenti   Lascia una risposta

  1. Potresti usare WP Cli se il tuo hosting lo supporta per questo con un'attività cron:
    `/path/to/wp rewrite flush –path=/path/to/website/files/`

  2. Per coloro che hanno bisogno di svuotare i permalink solo una volta al giorno, ecco uno snippet di codice che puoi utilizzare:

    // Svuota i permalink una volta al giorno
    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. Salve,

    Questo è davvero utile, grazie.

    Volevo solo capire questo.
    Quando usi l'hook chiamato 'wp' che credo non esista, significa che la funzione 'my_activation' dovrebbe essere eseguita quando?
    Sto cercando di capire a quale punto questa funzione verrà chiamata.

  4. Ho aggiunto il tuo snippet di codice al mio file functions.php e ho anche aggiunto un commento al mio file .htaccess come segue:

    # TEST per lo svuotamento periodico delle regole di riscrittura
    # END WordPress

    Tuttavia, il mio commento di test non scompare e mi chiedo se questo snippet di codice funzioni affatto. Mi manca qualcosa?

    1. È possibile che il file non venga sovrascritto dallo snippet. Potresti voler contattare l'host a riguardo.

  5. Grazie, amico!

    Ma, e se volessi farlo ogni 10 minuti?

  6. Grazie per questa spiegazione! Stavo cercando un modo per risolvere un problema sul mio sito web. Perché, quasi una volta al giorno i permalink sono rotti e devo risalvarli per farli funzionare di nuovo. Hai avuto questo problema? Sai cosa potrebbe causarlo?

    Grazie ancora e testerò questa soluzione sul mio sito web.

    1. Purtroppo, potresti voler chiedere a uno sviluppatore di dare un'occhiata a questo.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!