Documentación · Resolución de problemas

Problemas con los shortcodes

Este documento cubre los problemas que pueden ocurrir al usar los shortcodes del plugin para incrustar listados de vehículos en páginas o entradas de WordPress.

Cuándo usar este documento

Lea este documento cuando:

  • Un shortcode se renderice como texto plano (la etiqueta del shortcode es visible en la página en lugar del resultado esperado).
  • Un shortcode no muestre nada o deje un espacio en blanco.
  • La cuadrícula de vehículos se renderice pero el filtrado, la ordenación o la paginación no funcionen correctamente.
  • El shortcode del filtro de búsqueda envíe el formulario a la página incorrecta o no redirija a los resultados.
  • El CSS o JavaScript requerido por el shortcode no se esté cargando en la página.
  • Un shortcode funcione en un contexto (por ejemplo, una página estándar) pero no en otro (por ejemplo, un widget o una plantilla personalizada).

Descripción general

El plugin registra seis shortcodes. Los tres siguientes son los shortcodes de listado/incrustación que se tratan en detalle en este documento:

ShortcodePropósito
[as24ci_archive]Renderiza la cuadrícula completa de listados de vehículos con filtros, ordenación y paginación.
[as24ci_compare]Renderiza la vista de comparación de vehículos.
[as24ci_search_filter]Renderiza únicamente el formulario de filtro de búsqueda, sin resultados. Diseñado para su uso en una página de inicio o de destino para dirigir a los visitantes a una página de resultados.

El plugin también registra [as24ci_favorites] (la página de vehículos guardados / lista de deseos), [as24ci_location_box] y [as24ci_hours_box] (tarjetas de ubicación y horarios de apertura). Las pautas de ubicación y de "el shortcode se muestra como texto plano" de este documento se aplican a todos ellos.

Los shortcodes deben colocarse en el campo de contenido de la entrada de una página o entrada de WordPress. Se procesan mediante la API estándar de shortcodes de WordPress. No son compatibles con widgets, archivos de plantilla, código PHP o contextos donde no se llame a do_shortcode().

Shortcodes disponibles y sus atributos

[as24ci_archive]

Renderiza el archivo de vehículos con un prefiltrado opcional.

Atributos admitidos (todos opcionales):

AtributoValoresDescripción
makeCadena de slugPrefiltra por marca de vehículo.
modelCadena de slugPrefiltra por modelo de vehículo.
price_minEnteroFiltro de precio mínimo.
price_maxEnteroFiltro de precio máximo.
fuelCadena de slugPrefiltra por tipo de combustible.
bodyCadena de slugPrefiltra por tipo de carrocería.
order_byprice, mileage, dateCampo de ordenación. Por defecto: date.
orderasc, descDirección de ordenación. Por defecto: asc.
per_page12, 24, 48, 72, allResultados por página. Por defecto: 24.

Los parámetros GET en la URL anulan los atributos del shortcode. Esto significa que el filtrado interactivo (el formulario de filtro que se envía a la misma página) funciona correctamente incluso cuando los atributos del shortcode proporcionan valores predeterminados.

Ejemplo:

[as24ci_archive make="volkswagen" order_by="price" order="asc" per_page="24"]

[as24ci_compare]

Renderiza la vista de comparación de vehículos. No se definen atributos en el código del plugin. El conjunto de vehículos a comparar se gestiona mediante la sesión del navegador del visitante (cookies o almacenamiento local; verifique este comportamiento en la versión actual del plugin antes de publicar).

Ejemplo:

[as24ci_compare]

[as24ci_search_filter]

Renderiza un formulario de filtro de búsqueda independiente sin listar resultados. El formulario redirige a una página de resultados al enviarse.

Atributos admitidos:

AtributoValoresDescripción
results_urlURLLa página donde se muestran los resultados. Por defecto es la URL del archivo del CPT (/cars/).

Ejemplo:

[as24ci_search_filter results_url="/inventory/"]

Si se omite results_url, el plugin intenta resolver la URL del archivo del CPT automáticamente. Si no se puede determinar la URL del archivo del CPT (por ejemplo, al usar enlaces permanentes simples), recurre a /cars/.

Requisitos previos

  • La página que contiene el shortcode debe estar publicada y ser accesible.
  • Para [as24ci_archive]: debe existir al menos una entrada de vehículo publicada.
  • Los enlaces permanentes no deben estar configurados como "Simples" para que la paginación y el enrutamiento limpio de URL funcionen correctamente.

Pasos de diagnóstico

Paso 1: Confirmar que el shortcode está en el contenido de la entrada

Los shortcodes solo se procesan cuando se colocan en el área estándar de contenido de la entrada (el campo post_content). No se procesan en:

  • Áreas de widgets (widgets de texto, widgets de HTML personalizado)
  • Campos personalizados, a menos que se llame explícitamente a do_shortcode() en esos campos
  • Archivos PHP de plantilla del tema, a menos que se llame a do_shortcode()
  • Elementos de constructores de páginas que procesan el contenido de forma independiente del filtro the_content

Si el shortcode aparece como texto plano ([as24ci_archive] visible en la página), confirme que está en el cuerpo de la entrada y no dentro de un campo personalizado o bloque de código que escape el HTML.

Paso 2: Confirmar que la etiqueta del shortcode está escrita correctamente

Los nombres de los shortcodes distinguen entre mayúsculas y minúsculas. Los nombres correctos son:

  • as24ci_archive
  • as24ci_compare
  • as24ci_search_filter

Un nombre de shortcode mal escrito no mostrará nada. Compruebe si hay errores tipográficos, espacios adicionales dentro de los corchetes o caracteres incorrectos.

Paso 3: Comprobar que el plugin está activo

Los shortcodes se registran cuando se carga el plugin. Si el plugin está desactivado o tiene un error fatal al cargarse, el shortcode no se registrará y mostrará su etiqueta como texto plano o no mostrará nada en absoluto.

  1. Vaya a Plugins → Plugins instalados y confirme que ADP Car Market Hub está activo y no tiene ningún indicador de error.
  2. Vaya a Herramientas → Salud del sitio y busque problemas críticos.

Paso 4: Verificar que el CSS y el JavaScript se están cargando

El plugin encola su CSS y JavaScript para las páginas que contienen los shortcodes [as24ci_archive] o [as24ci_compare]. Detecta esto llamando a has_shortcode() contra el post_content de la página actual.

Si los recursos no se están cargando:

  1. Confirme que el shortcode está directamente en $post->post_content. Si el contenido es ensamblado por un constructor de páginas que almacena el contenido de manera diferente (fuera de post_content), has_shortcode() puede devolver false y los recursos no se encolarán.
  2. Si utiliza un constructor de páginas, use su bloque de shortcode o bloque HTML para incrustar el shortcode de manera que pase a formar parte de post_content.
  3. Revise las herramientas de desarrollo del navegador en busca de errores de JavaScript que puedan impedir que el formulario de filtro o la galería se inicialicen.

Paso 5: Comprobar el atributo results_url para [as24ci_search_filter]

Si el formulario de filtro de búsqueda se envía a la página incorrecta o devuelve un error 404:

  1. Verifique que el atributo results_url apunte a la página correcta donde está incrustado [as24ci_archive] (o a la URL del archivo del CPT).
  2. Si no se proporciona ningún results_url, el plugin utiliza get_post_type_archive_link('as24ci_car'). Si esto no devuelve nada (lo que puede suceder con enlaces permanentes simples), recurre a /cars/. Asegúrese de que la página de destino exista en esa URL.
  3. Cuando utilice una página normal de WordPress como página de resultados (no el archivo del CPT), use el enlace permanente de la página como results_url.

Paso 6: Investigar la paginación con archivos incrustados mediante shortcodes

En una página que utiliza [as24ci_archive], la paginación utiliza los parámetros de consulta ?paged= (o ?page=):

  1. Al hacer clic en la página 2, se debería añadir ?paged=2 a la URL de la página.
  2. Si la página redirige para eliminar los parámetros de consulta (algunos temas o plugins de caché hacen esto), la paginación dejará de funcionar.
  3. Confirme que la estructura de enlaces permanentes no sea "Simple" (los enlaces permanentes simples impiden el enrutamiento correcto de la paginación).
  4. Excluya la página del shortcode de la caché de la página, o configure la caché para que varíe según paged y los parámetros de consulta de filtrado.

Paso 7: Verificar el prefiltrado con atributos de shortcode

Si el shortcode [as24ci_archive] utiliza atributos para prefiltrar los resultados (por ejemplo, make="bmw") pero el filtro no se aplica:

  1. Confirme que el valor del atributo coincida con el slug real de un término de taxonomía. Los slugs suelen estar en minúsculas y con guiones en lugar de espacios (por ejemplo, mercedes-benz en lugar de Mercedes-Benz).
  2. Recuerde que los parámetros GET anulan los atributos del shortcode. Si el visitante navega a la página sin ningún parámetro en la URL, se aplican los valores predeterminados del shortcode. Si la URL contiene parámetros de filtro, estos tienen prioridad.
  3. Confirme que el filtro correspondiente esté habilitado en los ajustes de filtro del plugin. Los filtros deshabilitados se ignoran para el filtrado basado en parámetros GET, pero las anulaciones de atributos de shortcode omiten la comprobación de filtros habilitados y se aplican de todos modos.

Notas operativas

  • El shortcode [as24ci_archive] crea su propio WP_Query y reemplaza temporalmente el $wp_query global. Restaura la consulta original después de la renderización. Si otros plugins o el tema leen $wp_query durante el contexto de renderización del shortcode, pueden ver valores inesperados.
  • En principio, se admiten múltiples shortcodes en la misma página, pero colocar dos shortcodes [as24ci_archive] en la misma página no es una configuración recomendada y puede producir un comportamiento inesperado con la paginación y el estado del filtro.
  • Los shortcodes no deben anidarse unos dentro de otros.
  • El shortcode [as24ci_search_filter] renderiza únicamente el HTML del formulario de filtro. No incluye resultados y no realiza ninguna consulta a la base de datos para obtener datos de vehículos en el momento de la renderización. La URL de acción del formulario y los campos de enrutamiento ocultos se establecen en el momento de la renderización en función del atributo results_url o de la URL del archivo del CPT.

Resolución de problemas

SíntomaCausa probableComprobación
El shortcode es visible como texto planoEl plugin no está activo, o el shortcode está en un contexto no procesadoConfirme que el plugin está activo; mueva el shortcode a post_content
El shortcode no muestra nadaNombre del shortcode mal escrito; no hay vehículos publicadosCompruebe la ortografía; confirme que existen vehículos y que están publicados
La cuadrícula de archivo se renderiza pero falta el CSShas_shortcode() falla porque el contenido está fuera de post_contentColoque el shortcode directamente en post_content, no en un campo del constructor
Los filtros no funcionanFiltro deshabilitado en los ajustes, o el JS no se cargaHabilite los filtros en el Layout Manager; compruebe la consola del navegador en busca de errores
El filtro de búsqueda envía a la página incorrectaAtributo results_url ausente o incorrectoEstablezca results_url en la página con [as24ci_archive]
Paginación rotaEnlaces permanentes simples, o la caché elimina los parámetros de consultaCambie a enlaces permanentes que no sean simples; configure exclusiones de caché
El prefiltrado por marca no funcionaDiscrepancia de slugUse el slug exacto de la taxonomía, no la etiqueta de visualización

Documentos relacionados