Recibo este error cuando intento activar mi complemento:
call_user_func_array() espera que el parámetro 1 sea una devolución de llamada válida, la función ‘fancy_lists_create_table’ no se encuentra o el nombre de la función no es válido en /Applications/XAMPP/xamppfiles/htdocs/intranet/wp-includes/plugin.php en la línea 525
Este fue el resultado de un complemento que depura el error “xxx caracteres de salida inesperada” que se ve comúnmente. No entiendo por qué la función no es válida. Código a continuación:
namespace fancy_lists;
register_activation_hook( __FILE__, 'fancy_lists_create_table' );
function fancy_lists_create_table(){
global $wpdb;
$table_name = $wpdb->prefix.'fancy_lists';
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
created datetime DEFAULT NOW() NOT NULL,
created_by text NOT NULL,
list_name text NOT NULL,
column_config text NOT NULL,
permissions text NOT NULL,
notifications text NOT NULL,
UNIQUE KEY id (id)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
}
}
nivelwpc
register_activation_hook()
no es consciente del espacio de nombres. Debes especificarlo:
register_activation_hook( __FILE__, __NAMESPACE__ . '\fancy_lists_create_table' );
-
¡Gracias, me salvaste el día! Tuve el mismo caso y WordPress no arrojó ningún error ni ninguna indicación para dar alguna pista. ¡Gracias de nuevo!
– Diméntica
16 de junio de 2022 a las 6:26