• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Plugins / Relación bidireccional entre diferentes tipos de contenido con ACF

Relación bidireccional entre diferentes tipos de contenido con ACF

Relación bidireccional entre diferentes tipos de contenido con ACF

[ hace 2 semanas ] [ Autor: Jhon Marreros Guzmán ][ Plugins - Avanzado] [ ]

mejoras

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

En este artículo veremos como relacionar dos Custom Post Type (CPT) usando el plugin de Advanced Custom Fields (ACF), de manera que cuando se agregue una relación a uno, también se guarde en el otro.

 

Generalidades

Tenemos dos CPT, uno de jugadores y otro de equipos:

  • Cuando se agrega un equipo tenemos la opción de seleccionar los jugadores
  • Cuando se agrega un jugador tenemos la opción de seleccionar los equipos a los que pertenece

Lo que esperamos conseguir con la relación bidireccional es que si un jugador se agrega a un equipo, deberíamos ver esa relación al entrar al jugador y lo mismo, si desde un jugador le agregamos una relación con un equipo, debería también verse esa relación al entrar al equipo.

 

Creando los grupos de campos

Tenemos dos grupos de campos con ACF, el primero de ellos Equipo, asociado al CPT con el mismo nombre, vemos en este grupo que hay un campo de relación de jugadores asociado con el CPT jugador

ACF grupo campo equipo

 
El otro grupo de campos es de Jugador, asociado al CPT del mismo nombre, vemos en este grupo que hay un campo de relación de equipos asociado al CPT de equipo.

ACF grupo campo jugador

 

Código para relacionar ambos grupos de campos

Podemos ver la clase que usaremos en el siguiente código.

Puedes incluir este archivo como parte de los archivos de tu tema hijo.

En el código anterior:

  • Estamos usando dos Hooks de filtro de ACF en el constructor, cuando se actualiza el campo de jugadores y cuando se actualiza el campo de equipo
  • Utilizamos una función genérica update_elements_cpt() para actualizar los elementos del otro CPT
  • La función genérica hace comprobaciones si es necesario insertar o eliminar elementos
  • Como parte del código también se usa una variable global para evitar llamadas recurrentes

 
Para usar este archivo simplemente puedes incluirlo desde el functions.php de tu tema hijo con el siguiente código, asumiendo que esta dentro de una carpeta includes y que tiene el nombre relations_cpt.php

// CPT relations with ACF
include_once "includes/relations_cpt.php";

new RelationsCPT();

 

Resultado final

Al final obtendremos que cuando agregamos un jugador a un equipo, al ingresar al jugador veremos también que tiene una relación con el equipo.

Desde el CPT de equipo “Equipo Barcelona” agregamos jugadores, los jugadores: jugador 1 y jugador 4.

jugadores equipo

 
Veremos que al ingresar al jugador 4 esta relación ya existe con el “Equipo Barcelona”

equipos jugador

 

La relación inversa también debe funcionar, es decir si desde un jugador agrego equipos, al ingresar a un equipo se debe ver la relación con el jugador.

 

Conclusión

Como has podido comprobar, si quieres relacionar varios CPT de manera bidireccional con relaciones del plugin ACF puedes hacerlo a través de código, en este artículo hemos visto una clase que nos ayuda a realizar esas relaciones y la puedes adaptar a tus necesidades.

 
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Creación dinámica de Custom Post Types en WordPressCreación dinámica de Custom Post Types en WordPress
  • Mostrar mensaje al seleccionar envío Recogida en Local en WooCommerceMostrar mensaje al seleccionar envío Recogida en Local en WooCommerce
  • Agregar el campo de cantidad en la lista de productos de WooCommerceAgregar el campo de cantidad en la lista de productos de WooCommerce
  • Modificar el orden de productos destacados en StoreFrontModificar el orden de productos destacados en StoreFront
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Presentación

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social woocommerce

Populares

Agregar .HTML al final de URL en WordPress

¿Cómo mostrar un menú diferente para usuarios registrados?

Mostrar el nombre del archivo que esta usando un theme

Agregar Whatsapp flotante en WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2023 Todos los derechos reservados