Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Mostrar WordPress Relacionadas con Puestos con Taxonomía y un tTipo de Mmensaje Personalizado

by
Difficulty:IntermediateLength:MediumLanguages:

Spanish (Español) translation by Jean Perez (you can also view the original English article)

Final product image
What You'll Be Creating

A veces desea que los mensajes de tu blog para aparecer en más páginas en su sitio de WordPress a tu blog.

Ya tienes la opción de categoría y archivos de la taxonomía, así como etiquetas. Esto puede ayudar a dividir su contenido y añadir una variedad de secciones en tu sitio blog o noticias.

Pero a veces usted puede tener los mensajes que se refieren a un tipo de mensaje personalizado. Un buen ejemplo de esto es una tienda. Los productos en su tienda son tipos de post personalizados, y para ayudarle a vender esos productos, usted podría escribir artículos sobre ellos.

En este tutorial te mostraré cómo agregar una lista de las mensajes pertinentes a cada página de un tipo de mensaje personalizado en su sitio. Podrá hacerlo utilizando una taxonomía personalizada, cuyos términos se corresponden a los nombres de los productos que desea escribir posts sobre. Te voy a mostrar cómo asignar la taxonomía personalizada a productos y mensajes estándar y utilizar esa relación para generar una lista de mensajes en la página solo para el producto.

Lo Que Necesitará

Para seguir con este tutorial, necesitará:

  • Una instalación de desarrollo de WordPress, no añade nada a su sitio hasta que tenga trabajo!
  • Un editor de código.
  • Un tema que puede editar directamente o con un gancho de acción después del contenido. Si está usando un tema de terceros sin ganchos, usted necesitará crear un tema de niño y editar.

Configurar el Plugin

Comience por crear un nuevo plugin y añadiendo la información del encabezado:

Si no estás familiarizado con esto, revisa nuestro curso sobre la creación de su primer plugin. Y no dude en modificar el texto del encabezado arriba, sustituyendo su propio nombre, URI, etcetera.

Registrar el Tipo de Post

Si no está trabajando con un tipo de post que es registrado por un plugin existente en su sitio, usted necesitará empezar por registrar uno.

Hacemos esto creando una función y enganchando al gancho de init. En su plugin, añadir esto:

Esto registra el plugin tutsplus_product. Si desea que el tipo de post para tener un nombre diferente, edite el código anterior.

Ahora, cuando usted visita las páginas de admin de WordPress, a ver tu post escribe en el menú:

The Product post type in the WordPress admin menu

Registro de la Taxonomía

El siguiente paso es registrar la taxonomía. Una vez más, crear otra función en su plugin:

Mi taxonomía se llama tutsplus_product_tax. Deliberadamente he incluido tax por lo que sé es la taxonomía y no el tipo de post. También hice el menú más específico para que cualquier persona que use este plugin en el administrador de WordPress sepan cuando están trabajando con el tipo de post y cuando trabaja con la taxonomía.

Aquí es en el admin de WordPress:

The list of products with taxonomy terms assigned in the WordPress admin

Se puede ver en la captura de pantalla que también he añadido algunos productos simulados.

Crear la Consulta

Ahora para la diversión parte. Tenemos que escribir una función que buscar los términos de la taxonomía en la nueva taxonomía para un producto y luego de la salida una lista de las mensajes que también tienen ese término.

Para ello, usaremos la función get_the_terms(). Luego crearemos una matriz vacía de variables y agregar las indicaciones de cada uno de los términos a buscar a esa matriz. Luego podemos usar esa matriz en los argumentos de WP_Query.

Empiece por abrir una nueva función y ejecutando una comprobación para ver si estamos en una página de post individual para nuestro tipo de mensaje personalizado. Si te has dado al tipo de mensaje personalizado un nombre diferente, o usas uno registrado por un tema de terceros, deberás sustituir 'tutsplus_product' en el código con su propio tipo de post.

Buscar la Lista de Términos y Añadirlos a una Matriz

Dentro de su función (y dentro de la comprobación de estar en una página de producto), ahora necesita obtener una lista de términos de taxonomía para este post.

Añadir esto:

Ahora deberás recorrer todos los términos y añadir a una matriz de variables. Pero usted sólo quiere hacer esto si la función anterior devuelve una lista de términos, envolver así que en un cheque $productterms se rellena:

Esto trae las indicaciones de cada término y lo añade a la matriz $producttermnames.

Ejecutar la Consulta

Ahora tenemos que configurar los argumentos de la consulta. Esto será dentro de tu if( $productterms ), ya que no quieres esto para ejecutar si no hay ningún término. Añadir esto a tu código:

Aquí, hemos utilizado la matriz de $producttermnames dentro de los argumentos de tax_query. Esto buscar algun post con alguna de las condiciones que este producto también tiene.

Ahora ejecuta una consulta utilizando esos argumentos:

Esto producirá un elemento h2 con un título y una lista con cada post. Si usted quisiera, podría salida esto diferentemente: tal vez agregando el extracto o la imagen recomendada.

Evitar los Errores

Normalmente, no esperar un usuario para agregar más de un término de taxonomía a cada producto, porque los términos son cada uno relacionado con un producto. Pero es imposible decir con certeza que esto nunca sucedería. Por esta razón la función incluye esa matriz de $producttermslist y utiliza para una instancia de WP_Query, en lugar de ejecutar WP_Query en un bucle foreach. También se hace para una página más eficiente ya que sólo ejecuta una consulta extra.

La Función Completa

Esta es la función en su totalidad, con todas las llaves en el lugar correcto:

Ejecutando la Función

Derecho ahora, esta función no hará nada. Para conseguir que el fuego, usted necesitará hacer una de tres cosas:

  1. Enganche un gancho de acción existentes en tu tema.
  2. Añadir un gancho de acción a su tema usando do_action() y gancho para.
  3. Añadir el nombre de la función al lugar en su tema de donde desea que la lista de salida.

Para las opciones segunda y terceros, si trabaja con un tema de terceros, debe crear un tema de niño y editar. Que podría crear un archivo de plantilla de single-tutsplus_product.php y añadir el gancho o función o simplemente añadirlo a single.php. Si engancha en el archivo de plantilla para el tipo de post, podría eliminar la si if ( is_singular( 'tutsplus_product' ) ).

En mi caso, estoy usando el tema de Suki desde el directorio de plugin de WordPress. Incluye gancho en el archivo single.php:

El gancho es justo debajo del contenido, exactamente donde quiere mi lista para ser salida. Así que me lo enganche mi función en ese gancho de acción:

Una vez que hayas hecho esto, guarde tu plugin y añadir algunos productos y términos de la taxonomía.

El Resultado

He añadido el término widget a mi producto de Widget, pero también he añadido otro término para demostrar esto:

The products in the WordPress admin

He añadido estos dos términos a un número de puestos en mi sitio, y al ver la página del producto para un Widget, puede ver la lista de entradas relacionadas debajo, de ambos términos:

The repeated posts list on a product page

Esta lista de mensajes le ayudará a los visitantes acceder a entradas del blog relacionadas con ese producto y se les anima a saber más sobre él y (esperemos) a comprar.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.