Anuncio
Una de las ventajas de usar WordPress es su gran flexibilidad. No es solo para publicaciones y páginas: los tipos de publicaciones personalizadas pueden extender las funciones principales a prácticamente cualquier cosa.
Echemos un vistazo hoy a lo que podría hacer con los tipos de publicaciones personalizadas, así como un ejemplo práctico rápido de cómo crear una lista de eventos utilizando un tipo de publicación personalizado llamado Evento.
Nota: Este tutorial debe considerarse solo con fines educativos, para que pueda aprender el código utilizado para crear tipos de publicaciones personalizadas. Si realmente desea un gran complemento de listado de eventos para su sitio de WordPress, intente El calendario de eventos, que está bien desarrollado y es gratis.
¿Qué son los tipos de publicaciones personalizadas en WordPress?
Por lo general, un sitio de WordPress consta de dos tipos de contenido: publicaciones de blog con fecha y páginas estáticas. La mayoría de nosotros que tenemos configurar un blog de WordPress
Configure su blog con WordPress: la guía definitiva¿Quieres comenzar tu propio blog pero no sabes cómo? Mire a WordPress, la plataforma de blogs más poderosa disponible en la actualidad. Lee mas están familiarizados con el hecho de que las páginas deben usarse para cosas como "Acerca de mí" o "Información de contacto", mientras que las publicaciones regulares van a su blog.Pero más allá de eso, ¿qué sucede si desea agregar otro tipo especial de contenido que realmente no se ajusta al orden cronológico del blog y que ciertamente no es estático? Ahí es donde entran los tipos de publicaciones personalizadas.
Una solicitud bastante común para sitios de clubes o grupos es tener algún tipo de calendario de eventos. Una solución que podría aplicarse es crear una categoría separada de eventos de publicaciones. El problema con esto es que se mostrarán en la línea de tiempo del blog principal, y realmente deberíamos separar los dos conceptos por completo.
Para ese propósito, creemos un nuevo tipo de publicación llamado evento, que tendrá su propia sección separada de la interfaz de administración.
Cómo crear un tipo de publicación personalizada en WordPress
Haremos esto ajustando sus archivos de tema directamente. Podría lograr el mismo efecto a través de un complemento, pero para demostrar el concepto y practicarlo es más fácil escribirlos directamente. Si no se siente cómodo haciendo esto, considere usar el Complemento Mis funciones personalizadas, que le permite agregar código de forma no destructiva.
Mis funciones personalizadas
Abre tu tema funciones.php archivo, almacenado en la carpeta del tema dentro wp-content / themes; o use el complemento Mis funciones personalizadas, que encontrará en Configuraciones > Insertador PHP. Al final del archivo, agregue este código:
add_action ('init', 'events_init'); function events_init () {$ args = array ('labels' => array ('name' => __ ('Events'), 'singular_name' => __ ('Event'),), 'public' => true, 'has_archive' => true, 'rewrite' => array ("slug" => "events"), 'soporta' => array ('miniatura', 'editor', 'título', 'campos personalizados')); register_post_type ('eventos', $ args); }
Asegúrese de hacer esto antes del cierre de php (?>), si hay una en su funciones.php archivo.
Tómese un tiempo para leer el código. Está declarando algunas propiedades (como etiquetas para la interfaz), y cómo se deben manejar las URL (reescrituras), así como qué características admite este tipo de publicación. Puede, por ejemplo, agregar un campo personalizado a su tipo de publicación personalizada con la propiedad de soportes.
En este caso, hemos declarado que nuestro tipo de evento admite miniaturas, un editor de contenido para la descripción del evento, un título del evento y campos personalizados. También hemos agregado has_archive, de modo que al navegar a la página de eventos aparecerá un archivo de todos los eventos, similar a un blog.
Eso es todo, ahora si guarda su tema y vuelve a cargar su blog, asumiendo que no tiene ningún error, debería ver una nueva sección de eventos en su barra lateral de administración. ¡Hurra!
Agregue algunos eventos de ejemplo ahora.
Luego, dado que este es un evento, cree un campo personalizado llamado fecha para indicar cuándo ocurrirá el evento. Utilizar mm / dd / aaaa formato.
Tenga en cuenta que necesitamos usar campos personalizados para especificar la fecha real del evento en lugar de la fecha de la publicación, porque la fecha de la publicación representa cuándo se publica el aviso. Dado que presumiblemente agregaría eventos que ocurrirán en el futuro, sería inútil establecer la fecha de publicación en la fecha real del evento.
Si intenta ver el evento en este punto, puede obtener un error 404. Esto se debe a que WordPress necesita regenerar su estructura de URL de enlace permanente para tener en cuenta este nuevo tipo de publicación. Dirígete a la Configuración> Enlaces permanentes página, y presione guardar nuevamente.
Ahora debería poder ver la publicación del evento individual. Tenga en cuenta que la primera parte de la URL, después de su nombre de dominio, es /events/. Elegimos esto en esta línea de código:
'rewrite' => array ("slug" => "events"),
Personalizar la página de listado de eventos
Ahora que tiene todos estos eventos fantásticos en su blog, sería bueno enumerarlos en algún lugar. Para eso, crearemos una plantilla de página especial, para que luego pueda agregar esa página a sus elementos de menú normales junto a Acerca de o Contacto.
Como ya especificamos que el tipo de publicación de Evento debe tener un archivo, puede continuar y ver cuál es el valor predeterminado visitando /events/. En el tema estándar Twenty-Seventeen en mi sitio de prueba, obtuve esto:
La personalización de esta salida dependerá del tema que esté utilizando, y cubrir todo el sistema de plantillas de WordPress está fuera del alcance de este artículo. Sin embargo, por el bien de este tutorial, supondré que estás usando Twenty-Seventeen.
Comience creando una copia de archive.phpy cámbiele el nombre a archive-events.php. Esto es un convención de nomenclatura estándar eso significa que WordPress usará automáticamente esta plantilla para mostrar el archivo para el tipo de publicación de eventos.
Al examinar el archivo, los autores de Twenty-Seventeen han proporcionado un mecanismo de formato de publicación, que es demasiado complejo para nuestras necesidades:
/* * Incluya la plantilla específica del formato posterior para el contenido. * Si desea anular esto en un tema secundario, incluya un archivo. * llamado contenido -___. php (donde ___ es el nombre del Formato de publicación) y se usará en su lugar. */ get_template_part ('template-parts / post / content', get_post_format ());
Nota: Se recomienda un tema secundario ya que cualquier actualización del tema original sobrescribirá sus cambios. Esta Artículo de soporte de WordPress describe el proceso de creación de un tema secundario para Twenty-Seventeen. Por brevedad, solo voy a trabajar en el tema original y no me importará si mi trabajo se pierde en una actualización posterior.
Corte todo ese bloque y pegue lo siguiente en su lugar. Esto es solo una copia simplificada de lo que hay en esas plantillas de formato de publicación, en aras del aprendizaje:
php echo ' ', '
'); php if (''! == get_the_post_thumbnail () &&! es soltera() ): '; the_title ('php endif; php the_content (sprintf ('Continuar leyendo "% s" ', get_the_title ()));
Si vuelve a guardar y obtener una vista previa de la página Eventos, notará que ahora tiene fechas. Pero están equivocados. Actualmente muestran la fecha de publicación en lugar de la fecha del evento. Como último paso, cambiemos eso a la fecha real en que se realizará el evento. Encuentra el bit que genera el tiempo, twenty_seventeen_time_link ()
y reemplácelo con lo siguiente:
date ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'date', true)))
Esto es obtener la fecha del metacampo posterior que configuramos, luego usar PHP fecha() función para formatearlo en algo más legible.
¿Próximos pasos?
Si no está satisfecho con su proveedor de alojamiento web actual, le recomendamos utilizar un servidor de WordPress administrado como WP Engine, que nosotros mismos utilizamos para nuestros sitios hermanos. De lo contrario, InMotion Hosting ofrece planes asequibles, que son incluso más baratos con nuestro descuento especial cuando utiliza este enlace.
Luego, tenga en cuenta que cuando creamos el tipo de publicación del evento, ya codificamos el soporte para las miniaturas destacadas. Utiliza nuestra guía para imágenes destacadas y miniaturas de publicaciones La guía completa de miniaturas destacadas y tamaños de imagen en WordPressAquí encontrará todo lo que necesita saber sobre los tamaños de imagen en WordPress y la administración de imágenes destacadas. Lee mas para tomar y mostrar una imagen destacada en el archivo de listado de eventos.
James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.