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

@@ -3,16 +3,16 @@ $image = (int) ga_opt( 'hero', 'image' );
$video = (int) ga_opt( 'hero', 'video' );
$full = 'full' === ga_opt( 'hero', 'layout' );
$overlay = min( 95, (int) ga_opt( 'hero', 'overlay' ) ) / 100;
$btn1 = ga_link( ga_opt( 'hero', 'btn1_url' ), get_post_type_archive_link( 'animal' ) );
$btn2 = ga_link( ga_opt( 'hero', 'btn2_url' ), ga_page_url( 'contacto', '#formulario' ) );
$btn1 = ga_link( ga_opt( 'hero', 'btn1_url' ), ga_species_url( 'perro' ) );
$btn2 = ga_link( ga_opt( 'hero', 'btn2_url' ), ga_species_url( 'gato' ) );
$doors = ga_opt( 'hero', 'doors' );
$colabora = ga_page_url( 'colabora' );
$door_links = array(
1 => get_post_type_archive_link( 'animal' ),
2 => $colabora . '#acogida',
2 => ga_page_url( 'acoge' ),
3 => $colabora . '#voluntariado',
4 => $colabora . '#donaciones',
4 => $colabora . '#material',
);
$classes = array( 'ga-hero', $full ? 'ga-hero--full' : 'ga-hero--split' );
@@ -53,7 +53,7 @@ if ( $doors ) {
<a class="ga-btn ga-btn--accent" href="<?php echo esc_url( $btn1 ); ?>"><?php ga_opt_e( 'hero', 'btn1' ); ?> <?php echo ga_icon( 'arrow' ); ?></a>
<?php endif; ?>
<?php if ( ga_opt( 'hero', 'btn2' ) ) : ?>
<a class="ga-btn ga-btn--ghost" href="<?php echo esc_url( $btn2 ); ?>"><?php ga_opt_e( 'hero', 'btn2' ); ?></a>
<a class="ga-btn ga-btn--ghost" href="<?php echo esc_url( $btn2 ); ?>"><?php ga_opt_e( 'hero', 'btn2' ); ?> <?php echo ga_icon( 'arrow' ); ?></a>
<?php endif; ?>
</div>
</div>
@@ -63,7 +63,7 @@ if ( $doors ) {
<?php if ( $image ) : ?>
<?php echo wp_get_attachment_image( $image, 'large', false, array( 'fetchpriority' => 'high' ) ); ?>
<?php else : ?>
<div class="ga-hero__art"><?php echo ga_icon( 'paw' ); ?></div>
<div class="ga-hero__art"><?php echo ga_placeholder_svg(); ?></div>
<?php endif; ?>
</div>
<?php endif; ?>