Soporte » WordPress Avanzado » Botones Confiones del funcions.php

  • Buenas necesito hacer una funcion en el functions.php que utilice $wpdb -> update para incrementar un atributo de una tabla de mi base de datos de la pagina, previamente creada esa tabla por mi ademas esa funcion añadirla en un boton que yo cree para que asi cuando un usuario lo pulse me incremente el campo en 1 concretamente

    Muchas gracias de antemano y espero que me pueda ayudar alguien

    Codigo que tengo

    // Teoricamente me cambia el campo de usuarios_registrados a 1 pero quiero que incremente 1
    function actualizar_usuario(){

    global $wpdb;

    $wpdb->update(clase1, array(‘usuarios_registrados’ => ‘1’, array(‘id_clase’, 1)));

    }

    //Teoricamente crea un boton tipo submit y le doy la funcion creada antes
    function boton_actualizador(){

    $boton = «<input type=’submit’ name=» value=’actualizar’ id=’boton1′ onclick = ‘actualizar_usuario’>»;

    return $boton;

    }

    add_shortcode(‘boton’, ‘boton_actualizador’);

Viendo 3 respuestas - 1 de 3 (de 3 total)
  • Buenas,

    Debes hacer que la función actualizar_usuario() del onclick, sea una función javascript que llame a un AJAX, dentro del AJAX llamarás a un PHP que hará la función que tienes actualmente.

    Para añadirle uno debes obtener el campo que y sumarle uno o si es una tabla propia y le has puesto que el campo sea un INT puedes hacer
    UPDATE log SET total=total+1

    Espero que te haya guiado y puedas realizar lo que necesitas.

    como podria escribir esa peticion ajax, es que yo de js no tengo ni idea, puede entender algo peeeero no mucho de php y wordpress si entiendo mas ya que llevo unos meses en este entorno, si me escribes o me pasas documentacion para como hacerlo me salvas mas aun y por supuesto gracias por la info

    @adriandegrafreak

    • Esta respuesta fue modificada hace 2 semanas, 3 días por shadowchiki.

    Consulta aquí la documentación
    https://api.jquery.com/jquery.ajax/

Viendo 3 respuestas - 1 de 3 (de 3 total)
  • Debes estar registrado para responder a este debate.