it-swarm.dev

"Plugin nelze aktivovat, protože spustil fatální chybu."

Níže uvedený kód je obsažen v souboru pluginu. Pouze se snaží provést aktualizační dotaz proti databázi wp. Nicméně jeho generování fatální chyby.

Fatal error: Cannot redeclare ce3_cleanup()

Musím načíst konfigurační soubor, abych získal acess do $ wpdb-> query?

function ce3_cleanup()
{
    $wpdb->query("update wp_postmeta set meta_key=replace(meta_key,'cb2_customHeader','_cb2_customHeader') where meta_key like 'cb2_customHeader'");
    $wpdb->query("update wp_postmeta set meta_key=replace(meta_key,'cb2_customTitle','_cb2_customTitle') where meta_key like 'cb2_customTitle'");
}
register_activation_hook(__FILE__, 'ce3_cleanup');
?>
1
Scott B

Doporučený způsob zápisu této funkce by byl:

function ce3_cleanup() {
    global $wpdb;

    $wpdb->query( "update $wpdb->postmeta set meta_key=replace(meta_key,'cb2_customHeader','_cb2_customHeader') where meta_key like 'cb2_customHeader'" );
    $wpdb->query( "update $wpdb->postmeta set meta_key=replace(meta_key,'cb2_customTitle','_cb2_customTitle') where meta_key like 'cb2_customTitle'" );
}
register_activation_hook( __FILE__, 'ce3_cleanup' );
0
sorich87

Ne, Cannot redeclare... znamená, že již máte funkci s názvem ce3_cleanup() někde jinde na vašem webu. Možná v jiném plug-inu nebo ve vašem motivu.

2
EAMann