Cron se nespouští

Vyřešeno1.19K zhlédnutíWebhostingcron
0

Dobrý den,

vytvořil jsem php soubor s názvem topovani.php, který je umístěný v www/domains/sexsexsex.cz/

Můj skript je zcela jednoduchý, resetuje meta field na výchozí hodnotu 0. Když kód vložím do wordpressu function.php, tak se automaticky zapne a funguje jak má. Function.php kód:

<?php
 function reset_reputace() {
    $default_reputace = 0;
     $allposts = get_posts(
        array(
            'post_type'   => 'partner-na-erotiku',
            'numberposts' => -1,
            'meta_key'    => 'reputace', // Změněno na váš meta key
        )
    );
     foreach ($allposts as $eachpost) {
        // Resetujte hodnotu meta fieldu "reputace" na výchozí hodnotu
        update_post_meta($eachpost->ID, 'reputace', $default_reputace);
    }
}
add_action('init', 'reset_reputace');
  ?>

Ve Webhosting – Cron jsem vytvořil Cron, který se spustí v celou hodinu (pro zkoušku, že to bude fungovat. Poté přenastavím na půlnoc). Pokud kliknu na „Ověřit možné spuštění“ tak mi napíše „CRON topovani (http://sexsexsex.cz/topovani.php) je možné spustit“ což je dobré znamení. Ale když zkouším zapnout Cron manuálně, tudíž do prohlížeče zadám URL adresu „http://sexsexsex.cz/topovani.php“ tak mi vypíše následující chybu:

Fatal error: Uncaught Error: Call to undefined function add_action() in /data/web/virtuals/333435/virtual/www/domains/sexsexsex.cz/topovani.php:19 Stack trace: #0 {main} thrown in /data/web/virtuals/333435/virtual/www/domains/sexsexsex.cz/topovani.php on line 19

S Cronem pracuji poprvé. Poradíte mi, co mám změnit aby vše fungovalo jak má?

Předem děkuji za jakoukoli pomoc.

PS. máte nějaký návod, jak Cron zabezpečit, aby nikdo cizí nemohl přes URL zapnout tento skript? Udělalo by to pak velké zmatky.

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
MB313456 Vybral nejlepší odpověď
0
58.49K Odpověď od WEDOS Internet, a.s. 0 Komentář

Dobrý den,

funkce add_action() je WP funkce, tedy funguje jen pro WP, viz popis funkce. Pokud dáte kód s touto funkcí do samostatného php souboru, nebude fungovat. tedy problém není v cronu, ale v tom, že v PHP voláte funkci, která je jen pro WP.

Role: Podpora
MB313456 Vybral nejlepší odpověď
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.