Documentación · Documentación técnica
Tipos de contenido personalizados y taxonomías
Este documento describe los tipos de contenido personalizados y las taxonomías registradas por el plugin ADP Car Market Hub: qué slugs utilizan, cómo están configurados, qué capacidades requieren y cómo aparecen en el administrador de WordPress.
Cuándo utilizar este documento
Lea este documento si necesita:
- Consultar los slugs exactos de los tipos de contenido y taxonomías en consultas personalizadas, plantillas o código del tema.
- Comprender qué roles pueden editar vehículos y leads.
- Planificar una integración personalizada, una consulta REST o
WP_Querycon los datos de los vehículos.
Para obtener detalles a nivel de columna y campo, consulte la Database Schema y el Data Model.
Descripción general
El plugin registra dos tipos de contenido personalizados y 15 taxonomías de atributos de vehículos:
as24ci_car— tipo de contenido personalizado público que representa un único anuncio de vehículo. Registrado porAS24CI\CPT.as24ci_lead— tipo de contenido personalizado privado que almacena los envíos de formularios de contacto. Registrado porAS24CI\Leads_CPT.- 15 taxonomías no jerárquicas asociadas a
as24ci_car. Registradas porAS24CI\Taxonomies.
Todas las cadenas traducibles utilizan el dominio de texto adp-car-market-hub.
Requisitos o prerrequisitos
No se requiere ninguna configuración adicional para registrar estos objetos. Los
tipos de contenido y las taxonomías se registran en la acción WordPress init
siempre que el plugin esté activo.
Si desea consultar vehículos o leads a través de la REST API, tenga en cuenta que
solo se expone as24ci_car (show_in_rest es true). El
tipo de contenido as24ci_lead tiene intencionadamente show_in_rest establecido en
false.
El tipo de contenido as24ci_car
Registrado en AS24CI\CPT::register_post_type() en init con prioridad
- Configuración clave:
| Argumento | Valor |
|---|---|
public | true |
has_archive | true |
rewrite.slug | cars (por lo que las URL individuales son /cars/<slug>/ y el archivo es /cars/) |
show_in_rest | true |
show_in_menu | true (menú de administración de nivel superior) |
menu_icon | dashicons-car |
menu_position | 3.1 (directamente debajo del menú CMH Center en la posición 3) |
supports | title, editor, excerpt, thumbnail, author |
capability_type | [ 'as24ci_car', 'as24ci_cars' ] |
map_meta_cap | true |
Debido a que map_meta_cap está habilitado, WordPress mapea capacidades genéricas
(como edit_post) al conjunto personalizado singular/plural del plugin.
Enlaces permanentes
Cada vehículo se publica bajo /cars/<slug>/. El importador se asegura de que
el slug termine con el Listing ID de AutoScout24 a través de
AS24CI\Importer::ensure_slug_has_listing_id() para que las reimportaciones mantengan
la URL estable. Después de la activación, las reglas de reescritura se limpian una vez para que
el archivo /cars/ funcione de inmediato. Si el archivo devuelve un error 404,
visite Ajustes → Enlaces permanentes y guarde una vez para reconstruir la caché de reescritura.
Capacidades
AS24CI\Plugin::ensure_roles_and_caps() otorga el conjunto de capacidades as24ci_car /
as24ci_cars a:
- El rol personalizado
as24ci_editor(creado en la activación si no existe). - El rol
administrator.
La capacidad manage_as24_imports (Plugin::CAP_MANAGE) restringe el acceso a la interfaz de usuario del
importador, ajustes, herramientas y logs, y se otorga únicamente a los administradores.
Los usuarios con el rol "Editor" de WordPress no reciben automáticamente
las capacidades de los vehículos.
Interfaz de administración: meta boxes
AS24CI\CPT::register_meta_boxes() añade dos meta boxes a la pantalla de edición
de vehículos:
- Importación de API de AutoScout24 (
as24ci_details_editable) — meta box combinada que contiene: - Las pestañas "Datos del anuncio", una por cada grupo de mapeo definido en
AS24CI\Field_Mapping::GROUPS(excluyendo el Equipamiento, que es renderizado porAS24CI\Equipment_Metabox). - El bloque de Equipamiento de AutoScout24 (renderizado por
AS24CI\Equipment_Metabox::render_metabox()). - La Galería combinada (imágenes manuales + importadas).
- Etiquetas (
as24ci_badges) — metabox de la barra lateral que permite al editor anular manualmente la autodetección de Nuevo / Usado / Oferta y alternar el indicador de "Oferta destacada". La autodetección se basa en las columnascondition_type,priceylist_pricedel vehículo; las anulaciones manuales se almacenan en los postmeta_as24ci_badge_override_new,_as24ci_badge_override_used,_as24ci_badge_override_saley_as24ci_top_offer.
Campos de solo lectura
Los campos gestionados exclusivamente por el importador se marcan como de solo lectura en el
formulario de edición. La lista se define en AS24CI\CPT::FORM_READONLY_KEYS
e incluye:
- Identificación:
_as24ci_id,_as24ci_seller_id,_as24ci_seller_vehicle_id,_as24ci_serial_number,_as24ci_vin,_as24ci_external_id,_as24ci_certification_number. - Estado y marcas de tiempo:
_as24ci_status,_as24ci_status_last_modified,_as24ci_created_date,_as24ci_last_modified_date. - Indicadores de origen:
_as24ci_live,_as24ci_language,_as24ci_version_identification_method.
Los valores largos (_as24ci_teaser, _as24ci_description, _as24ci_images)
se renderizan como áreas de texto. Los campos numéricos (precio, kilometraje, dimensiones,
etc.) se renderizan como <input type="number">.
Galería manual
El selector de galería combinado almacena los ID de los archivos adjuntos seleccionados manualmente
en la clave de postmeta _as24ci_manual_image_ids. Los archivos adjuntos de la galería
manual se tratan intencionadamente como propiedad del usuario y el código de eliminación
o desinstalación del plugin nunca los elimina, incluso cuando se eliminan los archivos adjuntos importados.
Columnas de la lista de administración
AS24CI\CPT añade columnas personalizadas a la lista de administración de Cars (por
ejemplo, una miniatura y una estrella de "Oferta destacada"). La columna de la miniatura se
dimensiona mediante CSS en línea inyectado en la pantalla edit.php para el tipo de contenido.
El tipo de contenido as24ci_lead
Registrado en AS24CI\Leads_CPT::register_post_type() en init con
prioridad 5. Configuración clave:
| Argumento | Valor |
|---|---|
public | false |
show_ui | false |
show_in_nav_menus | false |
show_in_rest | false |
supports | title |
Las entradas de leads no son visibles en las listas de administración estándar de WordPress
porque el plugin proporciona una pestaña dedicada a la gestión de Leads. El
texto de envío del formulario de contacto se almacena como el título de la entrada (nombre del
visitante) y en las claves de postmeta definidas por
AS24CI\Leads_CPT::save_lead():
_as24ci_lead_name,_as24ci_lead_email,_as24ci_lead_phone,_as24ci_lead_message_as24ci_lead_vehicle_id,_as24ci_lead_vehicle_title,_as24ci_lead_vehicle_listing_id,_as24ci_lead_vehicle_url_as24ci_lead_source_url,_as24ci_lead_date,_as24ci_lead_email_sent_as24ci_lead_status(uno denew,contacted,closed,spam; por defectonew)_as24ci_lead_appointment_date,_as24ci_lead_is_test_drive(para reservas de pruebas de conducción)
Los valores de estado válidos se exponen como constantes en
AS24CI\Leads_CPT (STATUS_NEW, STATUS_CONTACTED, STATUS_CLOSED,
STATUS_SPAM).
Taxonomías de vehículos
AS24CI\Taxonomies::register_all() registra 15 taxonomías no jerárquicas
asociadas a as24ci_car. Cada taxonomía se registra con
las mismas opciones:
| Argumento | Valor |
|---|---|
hierarchical | false (tipo etiqueta) |
public | true |
show_ui | true |
show_in_menu | true (submenú bajo CMH Cars) |
show_in_rest | true |
show_in_nav_menus | false |
show_tagcloud | false |
show_admin_column | false |
rewrite.slug | El propio slug de la taxonomía (por ejemplo, as24ci_brand) |
query_var | true |
Referencia de taxonomías
| Slug de taxonomía | Etiqueta singular | Etiqueta plural |
|---|---|---|
as24ci_brand | Marca | Marcas |
as24ci_model | Modelo | Modelos |
as24ci_body_type | Tipo de carrocería | Tipos de carrocería |
as24ci_condition | Estado | Estados |
as24ci_fuel_type | Tipo de combustible | Tipos de combustible |
as24ci_transmission | Transmisión | Transmisiones |
as24ci_drive | Tracción | Tracciones |
as24ci_ext_color | Color exterior | Colores exteriores |
as24ci_int_color | Color interior | Colores interiores |
as24ci_emission_std | Norma de emisiones | Normas de emisiones |
as24ci_energy_label | Etiqueta energética (A-G) | Etiquetas energéticas (A-G) |
as24ci_vehicle_cat | Categoría de vehículo | Categorías de vehículos |
as24ci_warranty_type | Tipo de garantía | Tipos de garantía |
as24ci_warranty_det | Detalles de la garantía | Detalles de la garantía |
as24ci_cyl_arrange | Disposición de cilindros | Disposiciones de cilindros |
Las etiquetas anteriores son las cadenas de origen sin traducir. Las etiquetas
reales renderizadas en la interfaz de administración se traducen a través del
dominio de texto adp-car-market-hub.
URL de términos
Debido a que cada taxonomía es public y tiene query_var habilitado, los términos
son accesibles a través de las URL de taxonomía estándar de WordPress (por ejemplo,
/as24ci_brand/<term-slug>/). Estas URL alimentan los filtros de archivo
y se pueden utilizar en menús de navegación personalizados o widgets del tema.
Valores de visualización
AS24CI\Taxonomies::get_display_value() es el ayudante canónico para
renderizar un campo de vehículo categórico en el frontend. Prefiere el
nombre del término de la taxonomía (que se puede renombrar en la administración sin perder
el enlace a los datos importados) y recurre al valor postmeta sin procesar si
no hay ningún término asignado.
Instrucciones paso a paso
Los tipos de contenido y las taxonomías no requieren configuración manual. Los siguientes flujos de trabajo son los habituales:
- Active el plugin. WordPress ejecuta el hook de activación, el cual
crea los roles y capacidades y limpia las reglas de reescritura. El
archivo
/cars/pasa a estar disponible de inmediato. - Ejecute el importador. Los anuncios importados se escriben en el
tipo de contenido
as24ci_carcon sus términos de taxonomía asignados por el mapeador. - Edite un vehículo. Abra un vehículo desde el menú de administración CMH Cars. Utilice la meta box de importación de API de AutoScout24 para anular los campos importados (sujeto a la lista de solo lectura anterior) y la meta box de Etiquetas para controlar qué etiquetas se muestran.
- Gestione las taxonomías. Utilice las entradas del submenú de CMH Cars (Marca,
Modelo, Tipo de carrocería, etc.) para renombrar, fusionar u ocultar términos. Renombrar un
término actualiza la etiqueta mostrada en todo el sitio porque
get_display_value()prefiere el nombre del término sobre el valor sin procesar. - Gestione los leads. Utilice la pestaña de administración dedicada a Leads. Las
entradas subyacentes de
as24ci_leadno se exponen en la lista de entradas estándar de WordPress.
Referencia de configuración
| Elemento | Dónde reside | Notas |
|---|---|---|
Tipo de contenido as24ci_car | AS24CI\CPT::POST_TYPE | Menú de administración de nivel superior bajo "Cars". |
Tipo de contenido as24ci_lead | AS24CI\Leads_CPT::POST_TYPE | Oculto del panel de administración estándar de WP; se gestiona a través de la pestaña Leads. |
| Taxonomías de vehículos | AS24CI\Taxonomies::TAXONOMY_SLUGS (también a través de Taxonomies::get_taxonomy_slugs()) | 15 entradas; no jerárquicas. |
| Conjunto de capacidades de vehículos | as24ci_car / as24ci_cars | Mapeado a través de map_meta_cap. |
| Capacidad del importador/ajustes | manage_as24_imports (Plugin::CAP_MANAGE) | Concedido únicamente a administradores. |
| Rol personalizado | as24ci_editor | Creado en la activación si no existe. |
| Postmeta de galería manual | _as24ci_manual_image_ids | El plugin nunca lo elimina. |
| Postmeta de estado de Lead | _as24ci_lead_status | Por defecto es new; los valores válidos se definen como Leads_CPT::STATUS_*. |
Notas operativas
- El tipo de contenido y las taxonomías se registran en
init. El código personalizado que los lea debe ejecutarse no antes deinitprioridad 5. - Consultar vehículos a través de
WP_Queryes sencillo (post_type => 'as24ci_car'). Para consultas numéricas tipadas o de rangos, es preferible utilizar la tabla dedicadaas24_vehiclesa través deAS24CI\Vehicle_Repository, ya que las consultas basadas en postmeta pueden ser lentas en catálogos grandes. - Cambiar el nombre de un término de taxonomía actualiza la etiqueta del frontend inmediatamente y no requiere una nueva importación: el ayudante
Taxonomies::get_display_value()lee el nombre del término al vuelo. - Eliminar el plugin mientras
as24ci_delete_data_on_uninstallestá establecido en1borra todas las publicaciones deas24ci_caryas24ci_leady los archivos adjuntos rastreados en_as24ci_image_ids. Los archivos adjuntos de galerías manuales y los términos de taxonomía no se eliminan automáticamente.
Resolución de problemas
/cars/devuelve 404. Visite Ajustes → Enlaces permanentes y guarde una vez para vaciar las reglas de reescritura. El plugin ya las vacía al activarse, por lo que un error 404 suele significar que un plugin o tema de terceros ha reemplazado las reglas de reescritura.- Un usuario con el rol de Editor no puede editar vehículos. Los editores no reciben automáticamente el conjunto de capacidades
as24ci_car. Asígneles el rolas24ci_editoro añada las capacidades del plugin al rol de Editor a través de su herramienta de gestión de roles. - Los cambios en el equipamiento importado se pierden en la siguiente importación. El bloque de equipamiento es gestionado por el importador. Las ediciones realizadas en la metabox de equipamiento pueden sobrescribirse a menos que pasen por la capa de anulación manual descrita en Data Model. Verifique el comportamiento en la versión actual del plugin antes de confiar en las ediciones manuales del equipamiento importado.
- Las publicaciones de Lead aparecen en una lista de administración genérica. El tipo de contenido establece
show_uienfalse; si los leads aparecen en una vista de administración personalizada, un plugin o filtro de terceros está anulando el comportamiento por defecto. Utilice la pestaña integrada Leads para la gestión de leads.