Home › Toolset Professional Support › [Resolved] Listar usuarios. Filtrar por usuarios
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
- | 7:00 – 14:00 | 7:00 – 14:00 | 7:00 – 14:00 | 7:00 – 14:00 | 7:00 – 14:00 | - |
- | 15:00 – 16:00 | 15:00 – 16:00 | 15:00 – 16:00 | 15:00 – 16:00 | 15:00 – 16:00 | - |
Supporter timezone: Europe/London (GMT+01:00)
Related documentation:
This topic contains 17 replies, has 2 voices.
Last updated by miguelM-3 4 years, 12 months ago.
Assisted by: Nigel.
Dinos que estas tratando de hacer?
Estoy creando una web donde los usuarios se dan de alta como "colaboradores" para crear post personalizados (rutas, etc.) y necesito:
1. Crear un formulario para que los "colaboradores" se den de alta automáticamente o puedan ser dados de alta por un administrador, que queden vinculado al user de WP y que a partir de ahí puedan subir sus post. (No sé si es el camino correcto pero he creado un CPT para estos usuarios "colaboradores" pero no puedo agregarle campos de usuario que he creado y no sé por tanto cómo vincularlos a los usuarios estándar de WP)
2. Filtrar todos esos post por usuario. Ya utilizo otros filtros, pero no puedo hacerlo por usuario.
3. Hacer listas de usuarios con enlaces a listas con los post específicos de cada usuario para ver o editar.
4. Por último, he creado plantillas de Elementor para visualizar los post sin problemas y páginas con Elementor para albergar los formularios pero trabajando de este modo no puedo activar el formulario de edición correspondiente a un post cuando coloco el shortcode [toolset-edit-post-link] en la plantilla de Elementor. Solo funciona si diseño las plantillas con las "Plantillas de contenido" de Toolset
¿Hay alguna documentación que esté siguiendo?
https://toolset.com/documentation/user-guides/user-fields/
https://toolset.com/documentation/post-relationships/how-to-create-custom-searches-and-relationships-for-users/
https://toolset.com/documentation/user-guides/using-toolset-with-elementor-page-builder/create-templates-for-custom-post-types-with-elementor-and-toolset/
¿Hay algún ejemplo similar que podamos ver?
hidden link
¿Cuál es el enlace a su sitio?
hidden link
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Hola Miguel
Antes de todo, tienes que decidir cómo configurar el sitio para los usuarios.
Lo más sencillo es que cada colaborador es un usuario de WordPress normal (con rol dedicado).
Estos usuarios serán los autores de las entradas, y automáticamente tendrán un archivo de sus entradas (p.j. site.com/author/miguelm/, y es poca cosa cambiar "/author/" a "/colaborador/" ó similar).
También es bastante sencillo crear listas de entradas filtrado por autor.
La alternativa es crear un tipo de entrada "colaborador" que sirve como perfil, y se conecta los usuarios a sus perfiles mediante el autor de la entrada (es decir, son autores de su propia entrada).
La razón principal para considerar esta opción es que no puede crear búsquedas personalizadas para usuarios directamente (que típicamente se requiere un sitio de miembros).
Entonces, ¿qué te parece?
Gracias Nigel.
Entonces, teniendo en cuenta que yo necesito listar los usuarios como aquí:
hidden link
Entrar luego en su ficha para ver un listado con sus aportaciones como aquí:
hidden link
Para poder ver (o editar) finalmente con detalle alguno de sus custom post types como aquí:
hidden link
¿Qué solución me recomiendas? ¿Trabajar con los usuarios de WordPress normales, o definir un tipo de entrada para "colaboradores"?
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Hola Miguel
Pues, si necesitas una búsqueda de usuarios sea necesario implementar entradas tipo "colaborador" conectado a usuarios de WP mediante el campo de autor de entrada.
Entonces tendrás:
- Crear usuario (los usuarios mismos mediante un formulario de registro, ó por un administrador)
- Crear perfil (entrada "colaborador", con el usuario como autor)
- El usuario publica entradas (p.j. "rutas") mediante formularios y sea el autor
- Una página tendrá una View que muestra (con búsqueda) colaboradores con enlaces
- La plantilla de colaboradores tendrá una View que muestra rutas publicadas por este usuario
Será necesario pasar el ID del autor de la entrada colaborador a este View para usar en un filtro de autor de entrada (https://toolset.com/documentation/user-guides/passing-arguments-to-views/#filter-by-authors).
¿Te parece bien?
Queda el cuestión de enlaces de editar formularios en plantillas de Elementor.
Ok. Perfecto. Lo hago así entonces.
Una duda ¿Los campos personalizados del CPT de colaborador son campos normales y no de usuario no?
Revisaré bien vuestro tema de casas y apartamentos de ejemplo.
En cuanto a los enlaces para la edición de los CPT diseñados con plantillas de Elementor ¿qué tendría que hacer?
Tengo un problema similar al comentado en el foro por anandG-3 (https://toolset.com/forums/topic/front-end-content-editing-forms-built-with-cred-embedding-in-elementor-single/) y lo intenté también con esta ayuda https://toolset.com/documentation/getting-started-with-toolset/publish-content-from-the-front-end/forms-for-editing/ , desconecté Layouts y coloqué en la plantilla del CPT Rutas diseñada en Elementor el shortcode de edición [toolset-edit-post-link content_template_slug='editar-ruta' target='self']Editar %%POST_TITLE%%[/toolset-edit-post-link] pero no hay forma, solo consigo reeditar la información cuando trabajo con "Plantillas de Contenido" de Toolset y no con plantillas de Elementor (mucho más fáciles para mí).
Muchas gracias!
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Correcto, las entradas de colaborador sirve como perfil, entonces los campos personalizados pertenecen a la entrada y no al usuario (menos los campos estándar de usuario como email y tal).
Voy a hacer unas pruebas con Elementor ahora...
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Hola Miguel
Disculpe el retraso.
En mi sitio de prueba funciona como esperaba, pero es imprescindible que la plantilla de Elementor para las entradas incluye el módulo "Post Content" que Toolset sustituirá con el formulario.
¿Es lo que falta?
Hola.
'Es imprescindible que la plantilla de Elementor para las entradas incluye el módulo "Post Content"'
¿Y eso qué es? ¿Cómo lo coloco al diseñar con Elementor?
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Allí está.
Hola Nigel.
Efectivamente, ahora puedo ver el formulario de edición, pero lo mete como un iframe debajo del propio post. ¿Hay alguna manera de que me lo abra a él solo y no debajo del post original? ¿puede ser que se comporte de este modo porque la plantilla de edición de contenido la he maquetado con "Plantillas de Contenido" de Toolset y no con plantillas de Elementor.
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Hola Miguel
Solo hay dos posibilidades.
1. Deja usar plantillas de Elementor para tipos de entrada editable por formularios de Toolset y usa plantillas de Toolset (el formulario reemplaza el contenido entero)
2. Incluir un módulo de Post Content en la plantilla de Elementor donde quieres aparecer el formulario de edición (el formulario reemplaza sólo este módulo)
Tenemos poco control de la salida de plantillas de Elementor.
Hola Nigel, de acuerdo, poniendo el post content arriba no queda mal. Muchas Gracias. Ya estoy casi terminando pero tengo algunas dudas aún.
Hola Nigel. El último apartado de mis dudas ya lo he resuelto.
[cred_delete_post_link class='cred-refresh-after-delete' text='Eliminar ficha' action='trash' message='¿Está seguro de que desea borrar este recurso?' message_after='Entrada eliminada' redirect ='190']
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+01:00)
Hola Miguel
Q1: Olvidé que existe esta opción pero su función es igual y puedes seguir usarla.
Q2: Las búsquedas solo pueden incluir filtros de campos personalizados ó de taxonomías y no de campos estándar, como autor ó título. (Hemos recibidos solicitudes de este funcionalidad anteriormente pero hasta ahora no lo hicimos; puedes añadir tu voz aquí: https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/)
Una solución particular sería necesario. Los filtros son un formulario y podrías incluir tu propio control de filtro en el formulario y luego modificar la consulta utilizando un función de API como wpv_filter_query, pero es fuera de nuestra soporte proporcionar tal código.
Q3: El formulario de login acepta un atributo redirect_url pero al momento de cargar el formulario no se sabe a que usuario pertenece, entonces será necesario modificar el URL de redirección con el filtro estándar de WordPress "login_refidirect" : https://developer.wordpress.org/reference/hooks/login_redirect/
Se necesita una consulta que coge la entrada tipo colaborador con autor de este usuario y debe devolver el URL de la entrada.
Q4: El shortcode cred_delete_post_link tiene atributo "action" que determine si borrar una entrada usa la papelera o no: https://toolset.com/documentation/user-guides/cred-shortcodes/#cred_delete_post_link
Hola Nigel
Como me dijiste, cree un CPT "colaborador" para poder hacer listas de colaboradores:
hidden link
Y poder así seleccionar los usuarios para ver sus recursos:
hidden link
Todo eso está ya funcionando.
Pero tengo un par de dudas
1. ¿Cuál es la url para que cada usuario pueda acceder a su CPT directamente? osea, ¿cómo puedo proporcionar a cada usuario un enlace a su CPT correspondiente para que vea o edite su perfil?
2. Y, para evitar que, por error, creen más de un perfil ¿cómo puedo limitar la creación de un solo CPT "colaborador" a cada usuario de WordPress ?
Muchísimas gracias