Funciones de WordPress undefined en un plugin
-
Tengo un plugin con este sencillo código que es llamado desde una función .click() de jQuery, pero no funcionan las funciones de WordPress. Aparecen como «Fatal error: Call to undefined funtion get_user_meta() «
<?php /* Plugin Name: Control de descargas Plugin URI: https://github.com/jjlazo79/wp_plugin_template Description: A simple wordpress plugin template Version: 1.0 Author: Jose Lazo Author URI: http://www.joselazo.es License: GPL2 */ // Controlar las descargas si recibimos parámetros por post if ( isset( $_POST["descarga"]) && $_POST["descarga"] !== '' ) { global $wpdb; //Definimos variables $user_id = $_POST["usuario"]; $descarga = $_POST["descarga"]; $meta_key = '_descargas_comunicaciones'; $prev_value = get_user_meta( $user_id, $meta_key ); if ( isset( $prev_value ) && $prev_value !== '' ) { //Comprobamos si ya está en el array de descargas if ( !in_array( $descarga, $prev_value ) ) { //Si no está, la añadimos al final del array actual de descargas array_push( $prev_value, $descarga ); //Almacenamos el nuevo array en otra variable $descarga_actualizada = $prev_value; //Actualizamos el user_meta update_user_meta( $user_id, $meta_key, $descarga_actualizada, $prev_value ); } else { echo "Esta comunicación ya la ha descargado anteriormente"; } } else { // Si no existen datos previos de descarga, añadimos el user_meta add_user_meta( $user_id, $meta_key, $descarga, true ); } echo "Su usuario es el número " . $user_id . ". "; echo "Se ha descargado la comunicación número " . $descarga; } ?>
La llamada AJAX es la siguiente:
jQuery('a.pdf').click(function() { var id = jQuery(this).attr('id'); var usuario = jQuery('#usuario').html(); //alert("Descarga: "+id+" - Usuario: "+user); // Lanzamos los datos con la descarga al PHP jQuery.ajax({ url : '../../wp-content/themes/wplms/procesar_descargas.php', dataType: 'html', data : {descarga: id, usuario: usuario }, type: 'POST' }).done( function( data ) { // Estamos utilizando el método .done(), pero debo apuntar que jQuery nos provee de varios métodos callback para distintos fines // En data además viene la respuesta del PHP alert( data ); }); });
¿Por qué no funcionan las funciones de WordPress?
- El debate ‘Funciones de WordPress undefined en un plugin’ está cerrado a nuevas respuestas.