X

Cum să goliți permalink-urile o dată pe oră cron job

Fragmente de IsItWP

Căutați o modalitate de a reseta permalink-urile o dată pe oră? Deși probabil există un plugin pentru asta, am creat o scurtă secțiune de cod pe care o puteți folosi pentru a reseta permalink-urile printr-o sarcină cron o dată pe oră în WordPress.

Pentru a confirma că permalink-urile sunt resetate, pur și simplu adăugați un comentariu chiar înainte de # END WordPress în fișierul .htaccess. Odată ce permalink-urile sunt resetate, comentariul va dispărea.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

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

Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă v-a plăcut această secțiune de cod, vă rugăm să luați în considerare să consultați și celelalte articole de pe site, cum ar fi: 15 cele mai bune plugin-uri de marketing de conținut și cum să creați un formular de donații WordPress.

Comentarii   Lasă un răspuns

  1. Ați putea folosi WP Cli dacă găzduirea dvs. îl suportă pentru asta cu o sarcină cron:
    `/cale/către/wp rewrite flush –cale=/cale/către/fișierele/site-ului/web/`

  2. Pentru cei care au nevoie să reseteze permalink-urile doar o dată pe zi, iată o secțiune de cod pe care o puteți folosi:

    // Resetează permalink-urile o dată pe zi
    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. Bună,

    Acest lucru este foarte util, mulțumesc.

    Voiam doar să înțeleg acest lucru.
    Când folosiți hook-ul numit ‘wp’, care cred că nu există, înseamnă că funcția ‘my_activation’ ar trebui să ruleze când?
    Încerc să înțeleg la ce punct va fi apelată această funcție.

  4. Am adăugat secțiunea dvs. de cod în fișierul functions.php și am adăugat, de asemenea, un comentariu în fișierul .htaccess, după cum urmează:

    # TEST pentru resetarea periodică a regulilor de rescriere
    # END WordPress

    Cu toate acestea, comentariul meu de test nu dispare și mă întreb dacă această secțiune de cod funcționează deloc. Îmi lipsește ceva?

    1. Este posibil ca fișierul să nu fie suprascris de secțiunea de cod. Ați putea contacta gazda în legătură cu acest lucru.

  5. Mulțumesc, omule!

    Dar, ce se întâmplă dacă vreau să fac asta la fiecare 10 minute?

  6. Vă mulțumesc pentru această explicație! Căutam o modalitate de a rezolva o problemă pe site-ul meu. Deoarece, aproape o dată pe zi, permalink-urile sunt defecte și trebuie să le salvez din nou pentru a le face să funcționeze din nou. Ați avut această problemă? Știți ce ar putea cauza acest lucru?

    Mulțumesc din nou și voi testa această soluție pe site-ul meu.

    1. Din păcate, ați putea dori să rugați un dezvoltator să analizeze acest lucru.

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!