Escojer plantillas en posts personalizados - WORDPRESS
Hola a todos,
Estoy preparando para la web de la empresa donde trabajo una sección de presupuestos. Hasta ahora, lo que hemos hecho ha sido crear un tipo de posts personalizado, y mediante un plugin (custom contact forms) hacer los formularios para cada producto. De allí recojemos los datos y luego hacemos el presupuesto con un programa aparte de la web, que manualmente se le envía al que lo haya solicitado.
Aunque la idea final es hacer una calculadora online, de momento queda fuera de nuestro alcance, y lo único que queremos es montar formularios más intuitivos, saltándonos el plugin (que queda bastante macarrónico) y utilizando diferentes plantillas que mediante la clase phpmailer se reenvien al usuario y a nosotros. Los administradores tendrían que poder modificar algunos datos de forma sencilla, bien mediante el contenido del artículo o mediante campos personalizados. Como necesitamos un formulario con diferentes características para cada producto (hasta ahora todos los productos iban dentro de un tipo de post “presupuesto”) la pregunta que tengo es si es posible que a ese tipo de post ("presupuesto") se le pueda escojer una plantilla distinta para cada producto, tal como puede hacerse al crear una página, para lograr mantener el contenido más ordenado de lo que estaría todo mezclado en páginas.
Espero haberme explicado, compañeros.
Gracias desde ya.
Un saludo!
Nalez
Pues ya tengo la respuesta.
He encontrado la respuesta aquí. Lo resumo de todas maneras.
Yo quería evitar el utilizar ningun plugin, pero como me corre un poco de prisa, de momento lo haré así.
He estado viendo que hay dos plugins para esto, (que seguro que habrá más) uno es Custom Post Template, y el otro es Single Post Template. De los dos, sólo el primero me ha funcionado correctamente, ya que tengo una instalación con multisitios y el Single Post Template no me funcionaba.
Una vez instalado, creamos la plantilla que queramos utilizar añadiendo delante:
<?php
/*
Template Name Posts: Elnombrequequeramos
*/
?>
Y nos aparecerá en las entradas un desplegable con tantas plantillas como tengan incluido el código. Esto funciona con entradas normales, pero si queremos utilizarlo en entradas personalizadas, hará falta añadir un código al functions.php, para habilitar esa función:
/**
* Hooks the WP cpt_post_types filter
*
* @param array $post_types An array of post type names that the templates be used by
* @return array The array of post type names that the templates be used by
**/
function my_cpt_post_types( $post_types ) {
$post_types[] = 'nombredelcustomposttype1';
$post_types[] = 'nombredelcustomposttype2';
return $post_types;
}
add_filter( 'cpt_post_types', 'my_cpt_post_types' );
No parece demasiado complicado implementarlo todo en el tema y prescindir del plugin, pero de momento no voy a tocarlo demasiado, ya que así funciona bien.
Ahora puedo crear plantillas con formularios php para cada producto(entrada), con sus campos personalizados, y meter todos los productos en un tipo de entrada personalizada para mantenerlo todo más ordenado.
Un saludo!