SoporteCategory: QuestionsIntegrar Post Type de plugin
Antonio asked 5 years ago

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 Answers
Carlos Herrera Staff answered 5 years ago

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!!