Estoy usando una tabla de datos para cargar elementos de la base de datos en un complemento de wordpress personalizado. Pero sigo recibiendo este error 'Error de tipo no detectado: $(...).dataTable no es una función'. Esta es una pregunta común, pero todas las soluciones son las mismas y las he comprobado todas. Las bibliotecas jquery y datatable se cargan en el orden correcto, no hay errores en los enlaces de la biblioteca y ninguno de ellos se cargó dos veces. ¿Cuál puede ser otra causa de este error? A continuación se muestra cómo se pusieron en cola las bibliotecas:
if (!function_exists('current_actives_mng_enqueue')) { function current_actives_mng_enqueue() { // JS wp_register_script('cur_act_mng_jquery', '//code.jquery.com/jquery.min.js'); wp_register_script('cur_act_mng_bootstrap_js', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js'); wp_register_script('cur_act_mng_bootstrap_popper_js', '//cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js'); wp_enqueue_script('cur_act_mng_datatable_js','//cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js',array('jquery')); wp_enqueue_script('cur_act_mng_jquery'); wp_enqueue_script('cur_act_mng_bootstrap_js'); wp_enqueue_script('cur_act_mng_bootstrap_popper_js'); wp_enqueue_script('cur_act_mng_datatable_js'); // CSS wp_register_style('cur_act_mng_bootstrap', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css'); wp_register_style('cur_act_mng_datatable_css', '//cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css'); wp_register_style('cur_act_mng_custom', plugins_url('css/style.css', __FILE__)); wp_enqueue_style('cur_act_mng_bootstrap'); wp_enqueue_style('cur_act_mng_datatable_css'); wp_enqueue_style('cur_act_mng_custom'); } add_action('wp_enqueue_scripts', 'current_actives_mng_enqueue'); }Este es el código js para cargar la tabla:
jQuery(document).ready(function($){ $('#cur_act_tbl').dataTable({ ajax: { url: "/wp-admin/admin-ajax.php?action=datatables_endpoint", cache:false, }, columns: [ { data: 'mls' }, { data: 'status' }, ], pageLength: 25 });Reemplazar $ con jQuery podría ayudar
jQuery('#cur_act_tbl').dataTable(