Trabajar con las entradas personalizadas de WordPress

Home » Blog » Trabajar con las entradas personalizadas de WordPress

En el artículo anterior vimos como se podía crear un tipo de entrada o módulo parecido a páginas o entradas pero que sirviese para gestionar otro tipo de contenido y que a este contenido se le conoce como entradas personalizadas. Ahora vamos a ver como podemos mostrarlo en nuestro sitio.

Recuperando entradas

Para poder filtrar que datos queremos mostrar en un lugar concreto de nuestra web debemos usar el bucle personalizado wp_query().

$args = array ('posts_per_page' => '-1', 'post_type' => 'productos', 'tax_query' => array(array('taxonomy'=>'category','field'=>'slug','terms'=>'señales')));

$misProductos = new WP_query($args);

En este ejemplo, el bucle de WordPress solo devolverá las entradas de tipo PRODUCTO, y que estén asociadas a la categoría => SEÑALES.

Parámetros de una entrada

Post_type: se establece el nombre del módulo del que queremos extraer entradas, por ejemplo si tengo un nuevo módulo de entradas personalizadas llamado testimonios tendría que indicar que quiero extraer ese tipo de entradas.

Tax_query: permite diferentes valores, que sirven para filtrar por taxonomías (categorías o etiquetas, en el próximo artículo comentare como crear otros tipos a medida) y dentro de 1 taxonomía filtrar por un término concreto o varios.

Post_per_page: cuantas entradas queremos mostrar.

Como existen muchas posibilidades y van cambiando lo mejor es consultar el codex de WordPress. https://codex.wordpress.org/Class_Reference/WP_Query, consulta los parámetros.

Donde mostrar el contenido

Podemos incluir el nuevo contenido tanto en un widget como en una plantilla usando el filtrado y con un poco de programación y maquetación HTML.

Además si a la hora de crear el nuevo módulo hemos indicado el atributo has_archive como true, podemos crear 2 páginas en nuestra plantilla de WordPress que automáticamente se llamarán para:

  • Mostrar un listado de todas las entradas: archive-(nombreModulo).php
  • Mostrar una entrada concreta: single-(nombreModulo).php

Funciones especiales para entradas personalizadas

Get_post_types($parametros): devuelve todos los módulos o tipos de entrada registrados y se usa para ver los nombres registrados.

$args = array('public' => true, '_builtin' => false);
$articulos=get_post_types($args, 'names', 'and');
foreach ($articulos as $articulo){
echo "<p>".$articulo."</p>";
}

Podemos ver un listado de los tipos de entrada registrados activados y que no sean (_builtin=false) entradas o páginas. En este caso quiero ver los que estén registrados con el nombre productos y en segundo lugar indicamos que los argumentos son AND.

Get_post_type(id):  devuelve el nombre del modulo de una entrada concreta.

$post=35;
get_post_type($post);

Dado un id de una entrada puedo saber a que tipo pertenece.

post_type_exists(): Comprueba si existe el tipo de entrada.

if (post_type_exists('productos')){
echo "Existen entradas de productos.";
}

add_post_type_ support($tipoEntrada,$parametros): se usa para añadir nuevos campos (no establecido en el plugin o código fuente) a un módulo. Es muy útil para modificar un plugin que genere un módulo sin tocar el código fuente del mismo. Por ejemplo, si un módulo de un plugin crea un módulo de entradas sin opción a añadir comentarios, podemos modificar lo desde nuestro plugin usando esta función.

add_post_type_support('productos', array('comments'));

En este ejemplo añadimos que el tipo de entrada productos permita introducir comentarios.

set_post_type($idEntrada, $tipoEntrada): se usa para para cambiar el tipo de entrada de una a otra.

set_post_type('13','productos');

En este ejemplo la entrada 13 pasará a ser del tipo de entrada productos.

Como siempre recomendamos usar el codex de WordPress para aprender las diferentes etiquetas existentes para las múltiplesfunciones: https://codex.wordpress.org/Function_Reference/register_post_type



Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.

Evaluación EXCELENTE
A base de 8 reseñas
Iñigo me ha asesorado con un problema que tenía para acceder a mi web y me ha salvado la vida, porque creía que había perdido todo el trabajo que llevaba haciendo años. Muchísimas gracias. Es gratificante encontarte con alguien que controla y te ayuda en los problemas que te pueden surgir.
Santutxu Zaharra
Santutxu Zaharra
11/06/2024
Gran profesional y muy competente, le contratamos para cambiar la web y mejorar el posicionamiento y gracias a su asesoramiento ha mejorado.
jorge martinez
jorge martinez
16/05/2024
Contactamos con Iñigo para el diseño web de nuestra tienda online y estamos encantados. Su asesoramiento, seguimiento y trato han sido excepcionales. Un verdadero crack. Recomendado al 100%. No dudes en ponerte en contacto con el.
erlantz rique
erlantz rique
19/02/2024
Un acierto quien elija a Iñigo. Autentico profesional, se preocupó en todo momento que entendiera el funcionamiento de la web. Me explicó todo las veces necesarias hasta entenderlo. Se preocupó y acertó en que la web tuviera lo que le pedí y lo hizo con creces. Muy contento con el servicio prestado. Una vez realizado el trabajo, cualquier duda que tengo me sigue ayudando. Lo recomiendo sin temor a equivocarme.
Jose Marlasca
Jose Marlasca
06/02/2024
Compromiso, implicación e innovación en los proyectos. Atento a las necesidades e incansable en la búsqueda de soluciones. Muy buena opción.
Jabier Fuertes Udaondo
Jabier Fuertes Udaondo
07/01/2024
Si buscas a alguien que además de hacer un diseño web moderno, responsivo y adaptado a tu sector, te explique por qué plantea el diseño web de esa manera y que te explique y ayude en posicionar tu web lo mejor posible en base a los objetivos fijados, ese es Iñigo Mezo y os lo recomiendo al 100%
Asier Hermoso
Asier Hermoso
03/01/2024
Genial trabajar con él! Además de ser muy buen profesional, experto y responsable, a destacar tanto su implicación en cada proyecto, así como su trato siempre cercano y su paciencia infinita ;) Un crack!!
itxaso zubia
itxaso zubia
15/12/2023
El plugin gratuito para integrar productos de Prestashop en Wordpress muy sencillo de utilizar y muy bien documentado, os felicito.
Fernando Cózar
Fernando Cózar
02/11/2023