Cron je standardní nástroj systému UNIX pro plánování provádění úloh (skriptů nebo příkazů) v určitý čas, datum nebo interval. Úloha, která se má vykonat, se nazývá úloha cronu. Jak asi tušíte, účelem úlohy cron je automatizovat opakující se úlohy, abyste mohli produktivněji využívat svůj čas.
Úloha cron pro WordPress se však od standardního cronu mírně liší, a proto než se ponoříte do akce a procesu, musíte pochopit, co je cron pro WordPress a jak funguje.
- Co je to cron WordPressu?
- Jak spravovat cronovou úlohu WordPressu
- Jak spravovat úlohy cronu WordPressu pomocí pluginu
- Krok 1: Instalace pluginu WP Control
- Krok 2: Zobrazení a pochopení událostí Cron
- Krok 3: Úprava události cronu
- Krok 4: Přidání vlastního časového intervalu
- Krok 5: Přidání nové události cronu
- Jak spravovat úlohy cronu WordPressu pomocí WP CLI
- Jak nastavit skutečnou úlohu cronu
- Krok 1:Otevřete a upravte soubor wp-config.php
- Krok 2: Přidání nové úlohy cronu na server
- Slovy na závěr!
Co je to cron WordPressu?
WordPress má svůj vlastní systém cron pro plánování úloh, jako je kontrola aktualizací, plánování příspěvku ke zveřejnění a mazání komentářů z koše. O všechny úlohy cronu se stará WP-Cron.
Ačkoli název (a hlavní myšlenka) pochází z UNIXového cronu, WP-Cron takto nefunguje a pro plánování úloh používá intervaly. Výchozí časové intervaly poskytované systémem WordPress jsou hodinové, dvakrát denně, denní a týdenní. Zde jsou časové intervaly úloh závislé na návštěvě uživatelů na vašem webu, což znamená, že WP-Cron se spustí pouze v případě, že uživatel navštíví váš web.
Jinými slovy, WP-Cron se spustí při načtení stránky. Někdy to není tak spolehlivé, a proto mnoho uživatelů dává přednost úloze cron na úrovni serveru před úlohou WP-Cron.
V tomto článku vám ukážu, jak spravovat úlohy cron pro WordPress a nastavit skutečnou úlohu cron pro váš web WordPress.
Jak spravovat cronovou úlohu WordPressu
Existuje mnoho způsobů, jak nastavit a spravovat cronové úlohy WordPressu, ale já vám ukážu dva populární způsoby.
První používá plugin pro správu cronů, jako je WP Crontrol, který umožňuje přidávat, upravovat a spravovat cronové úlohy WordPressu přímo z ovládacího panelu WP. Můžete také vytvořit úlohu cronu, vytvářet háčky a funkce a definovat vlastní časové intervaly pro úlohy.
A druhá metoda je pomocí WordPress CLI.
Jak spravovat úlohy cronu WordPressu pomocí pluginu
Použiji plugin WP Crontrol, který umožňuje zobrazovat a ovládat úlohy cronu WP pro vaši aplikaci WordPress. Jedná se o oblíbený plugin, který se používá pro správu úloh cronu WP a má více než 100 000 aktivních instalací.
Jedná se o nejjednodušší způsob správy úloh cronu WordPressu a můžete rychle zobrazovat, upravovat, vytvářet, mazat a můžete dělat mnohem více s událostmi cronu WP.
Takže začněme!
Krok 1: Instalace pluginu WP Control
Stejně jako každý jiný plugin musíte WP Crontrol nainstalovat z úložiště pluginů a aktivovat jej. Po jeho instalaci si všimnete, že se na kartě Nástroje objevila nová možnost „Události Cron“.
Krok 2: Zobrazení a pochopení událostí Cron
Dále musíte kliknout na Události Cron a zobrazí se seznam událostí Cron, které jsou spuštěny ve vaší aplikaci WordPress.
V této části můžete spouštět, upravovat a mazat události Cron. Tuto možnost uvidíte, když najedete myší na libovolnou cronovou událost.
Zjistíte také užitečné informace o těchto cronových úlohách a rychle zjistíte, která cronová úloha se používá k jakému účelu a mnoho dalšího. V prvním sloupci Hook se zobrazuje název háčku používaného jádrem WordPressu nebo některým zásuvným modulem. Například předpona „wp“ jednoduše ukazuje, že se jedná o cron jádra WordPressu. Všimněte si také, že neexistuje možnost odstranění těchto událostí cronu, můžete však použít možnosti upravit a spustit nyní. Podobně si u zásuvných modulů všimnete, že se používají jiné předpony (například u WooCommerce „wc“ nebo „woocommerce“).
Druhý sloupec Argumenty obsahuje pouze argumenty, které se předávají funkcím háčků.
Třetí sloupec ukazuje, kdy se tato úloha cronu spustí příště.
Čtvrtý sloupec Akce ukazuje, jakou akci tento cron provede („funkce“ úlohy cronu).
Poslední sloupec definuje časování opakování úloh cronu. Jedná se v podstatě o časový interval pro naplánovanou úlohu.
Krok 3: Úprava události cronu
Nyní upravíme úlohu cronu WP, abychom otestovali tento doplněk.
Přejděte na název háčku a klikněte na tlačítko upravit. Objeví se nová sekce „Upravit událost Cron“, kde uvidíte různá pole. V mém případě jsem upravil háček „wp_privacy_delete_old_export_files“. Dále změním opakování této úlohy cronu na „Každých patnáct minut“.
Krok 4: Přidání vlastního časového intervalu
Dále vám ukážu, jak přidat vlastní časový interval pro události cronu. Za tímto účelem klikněte na kartu „Cron Schedule“ a zobrazí se nová obrazovka, kde uvidíte podrobnosti o naplánovaných časových intervalech. Dále sjeďte dolů, kde se zobrazí položka „Přidat plán Cron“. Vyplňte pole a klikněte na tlačítko Add Cron Schedule (Přidat plán Cron).
Všimněte si, že zadání intervalu je v sekundách. Já použiji 600 sekund a nastavím interval na 10 minut.
Nyní můžete upravit událost cronu a nahradit ji vlastním intervalem.
Krok 5: Přidání nové události cronu
Teď už víte, jak spravovat jednoduché úlohy pro události cronu, ale co když chcete přidat vlastní úlohu cronu pro aplikaci WordPress. Nebojte se, je to tak jednoduché a vše, co musíte udělat, je postupovat podle níže uvedených pokynů.
Nejprve klikněte na tlačítko Přidat událost cronu a dostanete se do sekce pro přidání cronu. Pak už jen zadejte název háčku podle svého přání (měl by se řídit běžnou konvencí pojmenování PHP a bez mezer).
Poté přidejte argumenty (je to nepovinné) a v mém případě jsou prázdné. A dále vyberte libovolnou možnost a do pole Další spuštění zadejte čas. Nakonec vyberte čas opakování (čas plánu) pro váš nový cron a klikněte na tlačítko Přidat událost.
Pokud máte nějaké dotazy týkající se tohoto, pak můžete zkontrolovat nastavení libovolné spuštěné cronové úlohy z vašich cronových událostí.
Po přidání nové cronové úlohy pak přejděte na kartu cronových událostí a zkontrolujte nově vytvořený cron. Všimněte si, že ve sloupci akce se zobrazí None (chyba). Je to proto, že jste pro tuto úlohu cronu nenadefinovali žádné akce. Proto musíte do souboru functions.php tématu napsat několik řádků kódu a přidat akci.
Poznámka: Než budete pokračovat, důrazně doporučujeme zálohovat web WordPress.
Otevřeme soubor a přidáme následující řádky kódu hned za <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Nezapomeňte nahradit mou e-mailovou adresu svou vlastní.
Na obrázku výše vidíte, že jsem jej upravil přímo pomocí ovládacího panelu WordPressu. Pokud chcete, můžete tento soubor upravit pomocí FTP klienta, jako je například FileZilla.
Dále zkontrolujeme e-mailovou schránku a zjistíme, zda nám zpráva přišla.
Tada! Je hotovo a úspěšně jsme přidali novou událost cronu.
Jak spravovat úlohy cronu WordPressu pomocí WP CLI
Všechny úlohy cronu WordPressu můžete také zobrazit a spravovat pomocí rozhraní WordPress CLI. V Cloudways musíte spustit terminál a přihlásit se pomocí přihlašovacích údajů k serveru.
Dále umístěte cestu k vaší aplikaci WordPress. V mém případě byla adresa URL :
cd applications/urrghmpqks/public_html/
Dále je třeba spustit tento příkaz:
wp cron event list
Zobrazí se název háčku, čas dalšího spuštění, relativní čas dalšího spuštění a opakování (naplánovaný čas).
Jak nastavit skutečnou úlohu cronu
Teď už víte, co je úloha cronu WordPressu a jak funguje. Co když ji chcete nahradit skutečnou cronovou úlohou z nějakého důvodu, například kvůli nízké návštěvnosti, důležitým úlohám, které je třeba spustit v určitý čas, nadměrným DDoS útokům nebo vysoké době načítání stránek.
Začněme tedy!
Krok 1:Otevřete a upravte soubor wp-config.php
Nejprve musíte otevřít soubor wp-config pomocí FTP klienta, jako je FileZilla, nebo SSH klienta, například puTTY. Poté soubor upravte a před řádek, kde je napsáno /* To je vše, přestaňte upravovat! Šťastné blogování. */
Kód:
define('DISABLE_WP_CRON', true);
Tento kód deaktivuje spuštěné události cronu na vašem webu WordPress a nyní můžete vytvořit skutečnou úlohu cronu.
Krok 2: Přidání nové úlohy cronu na server
Dále se přihlaste do platformy Cloudways a poté přejděte na panel Správa aplikací > Správa úloh cronu > Sekce Pokročilé.
Poté přidejte následující příkaz a klikněte na tlačítko Uložit změny:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
V uvedeném příkazu jsem nejprve definoval interval úlohy cron na pět minut. Pro kontrolu vyjádření časového plánu můžete použít tuto stránku. V mém případě je */5 * * * *
výraz intervalu.
Gratuluji! Úspěšně jste přidali skutečnou úlohu cronu.
Slovy na závěr!
Doufám, že vám tento článek pomohl pochopit, jak funguje úloha cronu WordPressu. Probíral jsem dva způsoby správy cronových úloh WordPressu; jeden prostřednictvím pluginu a druhý prostřednictvím WP-CLI. Probíral jsem také, jak nastavit skutečnou cronovou úlohu na živém serveru.
.