$30 off During Our Annual Pro Sale. View Details »

Trayendo el wp-admin al front

Trayendo el wp-admin al front

Crear tu propio panel de administración desde el front. Actualizado para el meetup de la comunidad #wpcusco el 30/01/2016

More Decks by César J. Aquino Maximiliano

Other Decks in Education

Transcript

  1. Trayendo el wp-
    admin al front
    Meetup #wpcusco 2016 - Versión 1.6

    View Slide

  2. César Aquino Maximiliano
    @cesjam7
    +

    View Slide

  3. El panel de WordPress
    se ve bien

    View Slide

  4. El panel de WordPress
    se ve bien
    No podemos negarlo

    View Slide

  5. View Slide

  6. Pero hay
    muchas
    cosas que
    se nos hace
    complicado
    de hacer ahí

    View Slide

  7. Usar mis propios estilos

    View Slide

  8. Agregar diferentes
    pasos
    Usar mis propios estilos

    View Slide

  9. Agregar diferentes
    pasos
    Usar mis propios estilos
    Formularios donde sea

    View Slide

  10. Agregar diferentes
    pasos
    Usar mis propios estilos
    Formularios donde sea
    Mis propias URL

    View Slide

  11. Agregar diferentes
    pasos
    Usar mis propios estilos
    Formularios donde sea
    Mis propias URL
    ¡Todo lo que se te pueda
    imaginar!

    View Slide

  12. Para crear un formulario
    necesitamos un archivo que envíe
    los datos y otro (o el mismo) que
    reciba esos datos para
    procesarlos.

    View Slide

  13. Para crear un formulario
    necesitamos un archivo que envíe
    los datos y otro (o el mismo) que
    reciba esos datos para
    procesarlos.
    En algunos procesos no es
    necesario un archivo de
    destino.

    View Slide

  14. Archivo del formulario




    Archivo que recibe los datos
    $titulo = $_POST[“titulo”];
    wp_insert_post( array('post_title' =>
    $titulo));
    ?>

    View Slide

  15. Hacer un login
    $urlhome = get_bloginfo('url');
    $args = array('echo' => true,
    'label_username' => __( 'Usuario' ),
    'label_password' => __( 'Contraseña'
    ),
    'redirect' => $urlhome,
    'remember' => true);
    wp_login_form( $args );
    https://codex.wordpress.org/Function_Reference/wp_login_form

    View Slide

  16. Insertar un post
    $id = wp_insert_post( array(
    'post_title' => $_POST['titulo'],
    'post_type' => 'noticias',
    'post_content' => $_POST['contenido'],
    'post_status' => 'publish'
    ) );
    add_post_meta($id, 'fuente', $_POST[‘fuente']);
    https://codex.wordpress.org/Function_Reference/wp_insert_post
    https://codex.wordpress.org/Function_Reference/add_post_meta

    View Slide

  17. Actualizar y eliminar un post
    wp_update_post( array(
    'ID' => $_GET['id'],
    'post_title' => $_POST['titulo'],
    'post_content' => $_POST['contenido'],
    ) );
    wp_delete_post($_POST['id']);
    https://codex.wordpress.org/Function_Reference/wp_update_post
    https://codex.wordpress.org/Function_Reference/wp_delete_post

    View Slide

  18. Insertar un usuario
    $userdata = array(
    'user_login' => $_POST["email"],
    'user_email' => $_POST["email"],
    'display_name' => $_POST["nombre"],
    'role' => 'editor',
    'user_pass' => $_POST["password"]
    );
    $user_id = wp_insert_user( $userdata );
    https://codex.wordpress.org/Function_Reference/wp_insert_user

    View Slide

  19. Guardar metas (datos extras)
    add_post_meta($idpost, ‘fuente’, ‘jovenred.com’);
    add_user_meta($iduser, ‘dni’, ‘87654321’);
    $fuente = get_post_meta($idpost, ‘fuente’, true);
    echo $fuente;
    https://codex.wordpress.org/Function_Reference/add_post_meta
    https://codex.wordpress.org/Function_Reference/add_user_meta

    View Slide

  20. También puedes guardar
    arrays en tus metas!

    View Slide

  21. Guardar metas (datos extras)
    $marcas = array(‘Movistar’, ‘Claro’, ‘Entel’, ‘Bitel’);
    add_option(‘marcas’, $marcas);
    WordPress serializa el array al momento de
    guardar.
    a:7:{i:0;s:8:"Movistar";i:1;s:3:"RPM";i:2;s:5:"Claro";i:3;s:3:"RPC";i:4;s:5:"Entel";
    i:5;s:5:"Bitel";i:6;s:4:"Fijo";}
    https://codex.wordpress.org/Function_Reference/add_option
    https://codex.wordpress.org/Function_Reference/get_option

    View Slide

  22. Hay muchas más
    funciones

    View Slide

  23. is_user_logged_in()
    Verificar si se encuentra un usuario
    conectado en ese momento.
    https://codex.wordpress.org/Function_Reference/is_user_logged_in

    View Slide

  24. is_super_admin()
    Verificar si el usuario que está conectado
    tiene permisos de super administrador.
    https://codex.wordpress.org/Function_Reference/is_super_admin

    View Slide

  25. wp_redirect()
    Redireccionar a la url donde se indica.
    https://codex.wordpress.org/Function_Reference/wp_redirect

    View Slide

  26. wp_insert_term()
    Registrar nuevas taxonomías.
    https://codex.wordpress.org/Function_Reference/wp_insert_term

    View Slide

  27. get_the_terms()
    Traer todos los términos de una taxonomía
    en un post.
    https://codex.wordpress.org/Function_Reference/get_the_terms

    View Slide

  28. term_exists()
    Verificar si un término existe en una
    taxonomía.
    https://codex.wordpress.org/Function_Reference/term_exists

    View Slide

  29. $wpdb
    Clase que contiene diferentes funciones
    para que te conectes directamente con tu
    base de datos.
    https://codex.wordpress.org/Class_Reference/wpdb

    View Slide

  30. wp_ajax()
    Realizar procesos usando ajax en tus temas.
    https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)

    View Slide

  31. wp_ajax()
    Realizar procesos usando ajax en tus temas.
    ...muy pronto por el mismo canal.
    https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)

    View Slide

  32. Algunos
    ejemplos de
    lo que puedes
    hacer

    View Slide

  33. View Slide

  34. View Slide

  35. View Slide

  36. View Slide

  37. IMPORTANTE

    View Slide

  38. View Slide

  39. Por último, si necesitas una
    función que no conozcas

    View Slide

  40. Por último, si necesitas una
    función que no conozcas

    View Slide

  41. Por último, si necesitas una
    función que no conozcas
    Siempre en ingles...

    View Slide

  42. wp_gracias();
    - César Aquino Maximiliano (@cesjam7)
    - orange612.com
    - databomberos.com
    - about.me/cesjam7

    View Slide