SoporteCategoría: QuestionsIntegrar Post Type de plugin
Antonio ha preguntado hace 5 años

Hola,
En el video 6 y 7 explicas como integrar un plugin, y pones el ejemplo de Contact Form 7.  Mi pregunta es si importo en mi codigo un plugin que ya genera un tipo de Post Type, cómo puedo crear la tabla de dicho Post Type. Me  explico, en el video se ve que creas un Post Type llamado Contactos, si por ejemplo temgo un plugin que genera un postype llamado Cursos con sus meta campos, cómo podria generar una tabla de nuevo con sus metas?
Habría una inconcruencia?
 
Gracias de antemano

1 respuestas
Carlos Herrera Staff ha respondido hace 5 años

Hola Antonio. No en ese caso no habría incongruencia. En el caso que el plugin genere el postType ya se ha generado la tabla, lo único que necesitas se hacer la modificaciones a esa tabla para que se vea como tu quieras. debes de saber el slug de ese postType para que puedas usarlo igual como yo lo he usado en el Video 8
pones en config.php
en filtro

 public $add_filter=[
['manage_mcf7_contacto_posts_columns',[__NAMESPACE__.'\ContactoController','TablaColumnas'],10,2],
];
en action
 public $add_action=[
['manage_mcf7_contacto_posts_custom_column',[__NAMESPACE__.'\ContactoController','TablaColumnasContenido'],10,2] ];
y cambias «mcf7_contacto» por el slug del postType del otro plugin y ContactoController por el controlador que has asignado para tus acciones.
Luego en tu controlador colocas esta función
 function TablaColumnas($defaults)
{
unset($defaults['categories']); // para quitar las columna categoria
unset($defaults['date']); // para quitar la fecha de creación
$defaults['nombre'] = "Nombre"; //una columna nueva
$defaults['email'] = "Correo Electrónico";
return $defaults;
}
function TablaColumnasContenido($column_name,$post_id)
{
if($column_name=='nombre')
{
echo get_post_meta($post_id,'nombre',true); //el post meta que quieras agregar
}
if($column_name=='email')
{
echo get_post_meta($post_id,'email',true);
}
}
Espero que esto te ayude. Saludos!!