Indicaciones del cliente: adopción solo Perros/Gatos, fichas nuevas y todo configurable

- Adopción sin filtros ni etiquetas: acceso a Perros y Gatos, tarjetas de foto y nombre.
- Ficha nueva: galería, vídeo, fecha de nacimiento o edad aproximada, carácter,
  necesidades, convivencia y hogar que buscamos (textos por idioma, datos compartidos).
- Estados disponible / en proceso / adoptado y animales destacados.
- Botón «Quiero conocerlo/la» con formulario breve (animal incluido) y confirmación.
- Botones para compartir cada ficha (WhatsApp, Facebook, copiar enlace).
- Portada corta según la propuesta del cliente; donaciones, cifras, etc. ocultas.
- Páginas Acoge y Preguntas frecuentes, menú con submenús, sin hotel.
- Aviso de cita previa y lista de ayuda material editables desde el panel.
- Plugin núcleo dividido en módulos (i18n, animales, formularios, APIs).
- Migración 5 idempotente: respeta las páginas editadas por el cliente.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-24 22:16:24 +02:00
parent 532bc620de
commit 4acc8b62d1
41 changed files with 1985 additions and 1533 deletions

View File

@@ -1,30 +1,25 @@
<?php
/**
* Tarjeta de animal (dentro del loop).
* Tarjeta de animal (dentro del loop). Por defecto solo foto y nombre;
* «detallada» añade edad y frase corta (Personalizar → Adopción).
*/
$id = get_the_ID();
$meta = array_filter( array(
ga_get( $id, 'raza' ) ?: ga_species(),
ga_age( $id ),
ga_label( $id, 'tamano' ),
) );
$compatible = ga_label( $id, 'compatible' ) ?: array();
$id = get_the_ID();
$detailed = 'detallada' === ga_opt( 'adopcion', 'card' );
?>
<article class="ga-card">
<?php ga_status_badge(); ?>
<article class="ga-card<?php echo $detailed ? ' ga-card--detailed' : ''; ?>">
<?php if ( ga_opt( 'adopcion', 'card_status' ) ) : ?>
<?php ga_status_badge(); ?>
<?php endif; ?>
<div class="ga-card__img"><?php ga_animal_photo(); ?></div>
<div class="ga-card__body">
<h3 class="ga-card__title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php if ( $meta ) : ?>
<p class="ga-card__meta"><?php echo esc_html( implode( ' · ', $meta ) ); ?></p>
<?php if ( $detailed ) : ?>
<?php if ( ga_age( $id ) ) : ?>
<p class="ga-card__meta"><?php echo esc_html( ga_age( $id ) ); ?></p>
<?php endif; ?>
<?php if ( has_excerpt() ) : ?>
<p class="ga-card__excerpt"><?php echo esc_html( get_the_excerpt() ); ?></p>
<?php endif; ?>
<?php endif; ?>
<?php if ( $compatible ) : ?>
<ul class="ga-badges">
<?php foreach ( $compatible as $c ) : ?>
<li><?php echo esc_html( ga_compat_label( $c ) ); ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<span class="ga-card__more"><?php ga_e( 'Ver ficha', 'Ikusi fitxa' ); ?> <?php echo ga_icon( 'arrow' ); ?></span>
</div>
</article>