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:
| Shortcode | Propó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):
| Atributo | Valores | Descripción |
|---|---|---|
make | Cadena de slug | Prefiltra por marca de vehículo. |
model | Cadena de slug | Prefiltra por modelo de vehículo. |
price_min | Entero | Filtro de precio mínimo. |
price_max | Entero | Filtro de precio máximo. |
fuel | Cadena de slug | Prefiltra por tipo de combustible. |
body | Cadena de slug | Prefiltra por tipo de carrocería. |
order_by | price, mileage, date | Campo de ordenación. Por defecto: date. |
order | asc, desc | Dirección de ordenación. Por defecto: asc. |
per_page | 12, 24, 48, 72, all | Resultados 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:
| Atributo | Valores | Descripción |
|---|---|---|
results_url | URL | La 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_archiveas24ci_compareas24ci_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.
- Vaya a Plugins → Plugins instalados y confirme que ADP Car Market Hub está activo y no tiene ningún indicador de error.
- 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:
- 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 depost_content),has_shortcode()puede devolver false y los recursos no se encolarán. - 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. - 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:
- Verifique que el atributo
results_urlapunte a la página correcta donde está incrustado[as24ci_archive](o a la URL del archivo del CPT). - Si no se proporciona ningún
results_url, el plugin utilizaget_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. - 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=):
- Al hacer clic en la página 2, se debería añadir
?paged=2a la URL de la página. - 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.
- Confirme que la estructura de enlaces permanentes no sea "Simple" (los enlaces permanentes simples impiden el enrutamiento correcto de la paginación).
- Excluya la página del shortcode de la caché de la página, o configure la caché para que varíe según
pagedy 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:
- 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-benzen lugar deMercedes-Benz). - 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.
- 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 propioWP_Queryy reemplaza temporalmente el$wp_queryglobal. Restaura la consulta original después de la renderización. Si otros plugins o el tema leen$wp_querydurante 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 atributoresults_urlo de la URL del archivo del CPT.
Resolución de problemas
| Síntoma | Causa probable | Comprobación |
|---|---|---|
| El shortcode es visible como texto plano | El plugin no está activo, o el shortcode está en un contexto no procesado | Confirme que el plugin está activo; mueva el shortcode a post_content |
| El shortcode no muestra nada | Nombre del shortcode mal escrito; no hay vehículos publicados | Compruebe la ortografía; confirme que existen vehículos y que están publicados |
| La cuadrícula de archivo se renderiza pero falta el CSS | has_shortcode() falla porque el contenido está fuera de post_content | Coloque el shortcode directamente en post_content, no en un campo del constructor |
| Los filtros no funcionan | Filtro deshabilitado en los ajustes, o el JS no se carga | Habilite 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 incorrecta | Atributo results_url ausente o incorrecto | Establezca results_url en la página con [as24ci_archive] |
| Paginación rota | Enlaces permanentes simples, o la caché elimina los parámetros de consulta | Cambie a enlaces permanentes que no sean simples; configure exclusiones de caché |
| El prefiltrado por marca no funciona | Discrepancia de slug | Use el slug exacto de la taxonomía, no la etiqueta de visualización |