Añadir Nuevos Campos en Autores/Usuarios

Inicio Foros WordPress Programación Añadir Nuevos Campos en Autores/Usuarios

Este debate contiene 6 respuestas, tiene 3 mensajes y lo actualizó  Hombre Man hace 6 años, 4 meses.

  • Autor
    Publicaciones
  • #60856

    el_gota
    Participante

    Hola buenas, escribo tras desistir en este problema… explico lo que estoy intentando hacer…
    Quiero añadir dos campos nuevos en el BACK cuando veo la info de un AUTOR que seran rellenados por mi, el administrador.
    Para ello sigo estos pasos…
    1- Creo dos columnas nuevas en la BDA wp_users ‘campo1’ ‘campo2’
    2- Modifico el BACK donde se muestra la info de un autor en wp-admin/user-edit.php y hago que se vea Campo1 = ‘lo que tenga ese campo en la BDA’ y Campo2 lo mismo
    3-… deberia de crear la funcion para poder mostrar luego los datos, (no lo he conseguido)

    Aqui ya empiezan los problemas y los pongo en orden…

    En el punto 2, cuando actualizo toda la informacion de un autor en el BACK, lo que yo ponga en los campos nuevos, NO SE ACTUALIZA.
    Ejemplo del codigo que tengo puesto en user-edit.php
    Campo1
    <input type="text" name="campo1" id="campo1" value="campo1) ?>” class=”regular-text” />

    Luego el problema que tengo seria el punto 3, que es el de que yo ese dato nuevo quiero pintarlo o mostrarlo en el SINGLE.PHP por lo que entiendo que tendria que crear alguna funcion en el core de WordPress para que me devolviera los datos que necesito… pues no lo consigo (lo he intentando imitando funciones como el the_author() o otras pero nada…)

    Por favor i need help… un abrazo

  • #60859

    Hombre Man
    Participante

    La complicación empieza cuando dices que el administrador es quien debe llenar esos campos, porque si no… crear un campo adicional puede ser tan simple como:

    // Google Profile Link
    add_filter( 'user_contactmethods', 'add_google_profile', 10, 1);
    function add_google_profile( $contactmethods ) {
    // Add Google Profiles
    $contactmethods['google_profile'] = 'Perfil de Google';
    return $contactmethods;
    }

    y para mostrar este campo en tu página, se trata de hacer algo asi:


    ======================================
    La parte más grave de tu código es que modificas el core. Esa es una pésima idea, en la próxima actualización, los cambios que hayas hecho se perderán.

    Podría ser más fácil para ti crear una tabla adicional, con cuatro simples campos: un autoincremente, userID, campo1 y campo2, y hacer una consulta dentro de single.php en tu tema para hacer la consulta y mostrar los resultados.

    La idea es esa…

  • #60861

    el_gota
    Participante

    Hola Incognito;
    Lo primeor darte las gracias por tu respuesta. Como te he dicho se que modificar el core es lo ultimo que uno debe hacer, pero cuando tienes algo en mente y no sabes/encuentras una solucion mejor…

    De lo que me comentas entiendo que no se ha mostrado la funcion que me has intentado poner para pintar ese campo en el single.php…

    Y otra pregunta… LO DE CREAR LA TABLA… en posibles actualizaciones, eso se mantendria???

    Muchas gracias.

    bye

  • #60877

    mediastudio
    Miembro

    Hola el_gota, yo he creado campos extra para los autores como twitter, facebook y flickr desde el archivo functions.php con este código: http://pastebin.com/TpcD32Mx
    Código para el archivo author.php: http://pastebin.com/DyaGTwua

    Después en el back-end, solo hay que agregar la url del usuario de facebook, twitter o flickr.

    Espero que esto te ayude, saludos.

  • #60878

    Hombre Man
    Participante

    Se pegó horrible el código, pero es el mismo que ya compartió @mediastudio

    Y sin la tabal no tiene ninguna relación con wp, no tiene porque afectarle sus actualizacioens.

  • #60900

    el_gota
    Participante

    Vale, he puesto ese codigo y me funciona a la perfeccion… pero tengo unas dudas, supongo que de polluelo… pero en ese codigo esos datos no se almacenan en la TABLA de wp_users… si no se almacena en BDA… donde se almacena para que no pierda los datos??…

    Ya con eso supongo que cerrare todas mis dudas… mil gracias

  • #60916

    Hombre Man
    Participante

    Las tablas de MySQL son persistentes, así que no se borran. Y al ponerlos an una tabla separada de wordpress, no pones en riesgo ni tu información ni la estructura de wordpress.

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest