Relación padre-hijo en el tipo de publicación personalizada
Publicado: 2020-08-18¿Quién no quiere tener un sitio web de WordPress organizado? Esta es exactamente la razón por la cual los tipos de publicaciones personalizadas son importantes. CTP nos permite separar los datos y facilitar su acceso y actualización cuando sea necesario. Sin embargo, lo que nos permitió organizar este contenido y darle jerarquía es la relación padre-hijo en el tipo de publicación personalizada . Pero, antes de hablar de la relación padre-hijo, empecemos desde el principio.
CPT tan esperado
Si no sabe por qué es importante actualizar su WordPress, aquí hay un ejemplo obvio. Después de años de espera, cuando llegó WordPress 3.0, finalmente pudimos crear tipos de publicaciones personalizadas. Y esta era realmente la oportunidad que deseaba conocer lo antes posible. Con él, un sitio web de WordPress se transformó de una simple plataforma de blogs a un poderoso Sistema de Gestión de Control. Solo con unas pocas líneas de código, podemos tener nuestro propio tipo.
Antes de llegar a la relación padre-hijo en el tipo de publicación personalizada, veamos primero qué es el tipo de publicación personalizada.
¿Qué es CPT?
El CPT de los tipos de publicaciones personalizadas podría considerarse como contenido. El término "publicación" podría confundirlo, ya que no es una publicación de blog de ninguna manera. CPT puede ser cualquier contenido que desee y no hay reglas estrictas para definirlo. Obviamente, hay tipos de publicaciones predeterminadas y personalizadas. Los tipos de publicaciones predeterminadas son publicaciones de blog, páginas y archivos adjuntos, revisiones y menús de navegación.
Por otro lado, los tipos de publicaciones personalizadas permiten un control más creativo para crear, almacenar y editar información.
No debe mezclar tipos de publicaciones personalizadas con publicaciones de blog. Si desea crear una estructura y jerarquía para las publicaciones de blog, tiene a su disposición categorías y subcategorías en WordPress.
Usar para tipos de publicaciones personalizadas
Si bien hay tipos de publicaciones predeterminadas de WordPress, algunas personas necesitan más que eso. Estos son algunos de los ejemplos en los que los tipos de publicaciones personalizadas son útiles:
- Sitio de listados de eventos, con tipos de eventos y lugares
- listados de bienes raices
- Sitios de comercio electrónico con opciones de productos.
- Sistema de boletos
- Galería de diseño o escaparate
Tenga en cuenta que estas ideas son solo algunas de las sugerencias. Hay muchas más ideas en las que podrías usar tipos de publicaciones personalizadas, así que deja volar tu imaginación.
Relación padre-hijo y publicaciones
Cuando vaya a Configuración y habilite la opción "Jerárquica", puede hacer que sus publicaciones se comporten más como páginas, y podrá obtener relaciones padre/hijo. Por ejemplo, supongamos que tiene un tipo de publicación que se llama "bebida" y una página principal de "licor" y una página secundaria de "vodka". Cuando vio la publicación de "vodka", la URL se vería así: yoursite.com/drink/liquor/vodka/
Básicamente, esto solo afectará a sus publicaciones dentro de su tipo de publicación, no a otros tipos de publicaciones que estén relacionadas entre sí. Por ejemplo, el tipo de publicación "bebida" no sería un hijo de un tipo de publicación "comida".
Limitando opciones
Cuando se habla de relaciones entre publicaciones, WordPress ofrece muy poco. En realidad, la relación padre/hijo en las publicaciones de tipo personalizado es el único tipo de relación que admite WordPress. Sin embargo, puede parecer un desafío hacer que una publicación personalizada escriba un padre y hacer que otra publicación personalizada escriba un hijo.

Aquí hay un ejemplo de un proyecto, donde puede ver diferentes tipos de publicaciones y asignar publicaciones secundarias a una publicación principal.
- Tipo de publicación personalizada llamada "Barrio"
- Para lugares dentro de este vecindario, tendremos un tipo de publicación personalizado llamado "Lugares".
- Tenga en cuenta que estos tipos de publicaciones personalizadas no son jerárquicas
- El objetivo es asignar cada lugar a un vecindario, que será el puesto principal
Asignación de una publicación principal
Con suerte, a estas alturas ya sabes un poco sobre los tipos de publicaciones y sabes cómo funcionan. Sin embargo, para asignar una publicación principal, deberá codificar un poco. En caso de que no esté familiarizado con los códigos cortos en WordPress, intente comprender los conceptos básicos. Lo básico debería ser suficiente, ya que solo necesita agregar el siguiente código a los archivos de administración del complemento para asignar una publicación principal.


En aras de la explicación, aquí usaremos post-tipos planos Vecindario y Lugar. Y ahora, es hora de codificar:
/* Hook meta box to just the 'place' post type. */ add_action( 'add_meta_boxes_place', 'my_add_meta_boxes' ); /* Creates the meta box. */ function my_add_meta_boxes( $post ) { add_meta_box( 'my-place-parent', __( 'Neighborhood', 'example-textdomain' ), 'my_place_parent_meta_box', $post->post_type, 'side', 'core' ); } /* Displays the meta box. */ function my_place_parent_meta_box( $post ) { $parents = get_posts( array( 'post_type' => 'neighborhood', 'orderby' => 'title', 'order' => 'ASC', 'numberposts' => -1 ) ); if ( !empty( $parents ) ) { echo '<select name="parent_id" class="widefat">'; // !Important! Don't change the 'parent_id' name attribute. foreach ( $parents as $parent ) { printf( '<option value="%s"%s>%s</option>', esc_attr( $parent->ID ), selected( $parent->ID, $post->post_parent, false ), esc_html( $parent->post_title ) ); } echo '</select>'; } }
No olvides cambiar los nombres de los tipos de publicaciones a tus propios tipos de publicaciones. Para comprender mejor el código y usarlo en su sitio web, aquí hay otro ejemplo en GitHub que puede resultarle útil.
Publicar relaciones
Si bien las relaciones entre padres e hijos en los tipos de publicaciones personalizadas son útiles, también son bastante limitadas. Si desea tener soluciones más complejas, tendrá que buscar en otra parte. Existen algunos complementos que pueden ayudarlo a lograr efectos similares en las relaciones posteriores.

¿Por qué necesitamos publicar relaciones?
Si queremos crear conexiones entre publicaciones en un sitio, básicamente estamos usando relaciones de publicación. Y la razón por la que son tan buenos es que nos permiten crear sitios web avanzados . Una vez que conectamos las publicaciones de tipo de publicación personalizada entre sí, podemos evitar la duplicación de datos y nos aseguramos de que no todos necesiten editar una información más de una vez. Además, dado que el tiempo es dinero, necesitamos cualquier método que podamos ayudarnos a evitar tareas mundanas.
Beneficios de usar la relación padre-hijo en tipos de publicaciones personalizadas
Uno de los beneficios obvios de usar la relación padre-hijo en el tipo de publicación personalizada es que puede mantener su sitio ordenado. Y los motores de búsqueda y los usuarios aman un sitio con una estructura organizada . Sin embargo, tenga en cuenta que para experimentar realmente los beneficios de esto, debe crear un buen plan y ceñirse a él.