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:
29
docker/content/es/acoge.html
Normal file
29
docker/content/es/acoge.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p>Quizá ahora no puedas adoptar, pero sí ofrecer un hogar durante un tiempo. Escríbenos y te contamos qué animales necesitan acogida y cómo puedes ayudar.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">¿Qué es una casa de acogida?</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Es un hogar temporal para un perro o un gato mientras encuentra a su familia. Algunos lo necesitan especialmente: cachorros, animales mayores o que se están recuperando y que están mejor en una casa que en la protectora.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">¿Qué supone?</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Cada acogida es distinta. Antes de empezar hablamos contigo de cuánto tiempo sería, los gastos, el material que hace falta y cómo te acompañamos durante la acogida.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/contacto/?motivo=acogida#formulario">Quiero ser casa de acogida</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>¿Tienes dudas? Mira las <a href="/preguntas-frecuentes/">preguntas frecuentes</a> o escríbenos.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
@@ -1,63 +1,45 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p>Cada ayuda cuenta. Estas son las formas en las que puedes cambiar la vida de nuestros animales:</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"adopcion"} -->
|
||||
<h2 class="wp-block-heading" id="adopcion">🏡 Adopta</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Adoptar es la forma más directa de salvar una vida. Consulta los <a href="/adopta/">animales en adopción</a>, ven a conocerlos y te acompañaremos en todo el proceso. Todos se entregan con microchip, vacunados y esterilizados.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"acogida"} -->
|
||||
<h2 class="wp-block-heading" id="acogida">🤝 Casa de acogida</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Algunos animales necesitan salir del centro cuanto antes: cachorros, mayores o convalecientes. Como casa de acogida les ofreces un hogar temporal mientras encuentran su familia definitiva. Nosotros te orientamos en todo momento.</p>
|
||||
<p>Hay muchas maneras de ayudar a los animales de Bilagun, y todas cuentan.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"voluntariado"} -->
|
||||
<h2 class="wp-block-heading" id="voluntariado">🦮 Voluntariado</h2>
|
||||
<h2 class="wp-block-heading" id="voluntariado">Voluntariado</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Pasear perros, socializar gatos, ayudar en jornadas de adopción, hacer fotos para las fichas o difundir en redes sociales. Si tienes tiempo y ganas, ¡te necesitamos!</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"donaciones"} -->
|
||||
<h2 class="wp-block-heading" id="donaciones">💚 Donaciones</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Siempre nos vienen bien:</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:list -->
|
||||
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||
<li>Pienso y latas para perros y gatos</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Arena para gatos</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Mantas, toallas y camas</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Correas, collares, arneses y juguetes</li>
|
||||
<!-- /wp:list-item --></ul>
|
||||
<!-- /wp:list -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Si prefieres hacer una aportación económica, <a href="/contacto/#formulario">escríbenos</a> y te indicamos cómo.</p>
|
||||
<p>Paseos, compañía y socialización de perros y gatos. Si te apetece echarnos una mano, concertamos una primera cita y rellenamos juntos un cuestionario.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/contacto/#formulario">Quiero colaborar</a></div>
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/contacto/?motivo=voluntario#formulario">Quiero ser voluntario</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
<!-- wp:heading {"anchor":"material"} -->
|
||||
<h2 class="wp-block-heading" id="material">Ayuda material</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:shortcode -->
|
||||
[ga_necesidades]
|
||||
<!-- /wp:shortcode -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/contacto/?motivo=material#formulario">Escríbenos</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
<!-- wp:heading {"anchor":"compartir"} -->
|
||||
<h2 class="wp-block-heading" id="compartir">Comparte sus historias</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Si no puedes adoptar, también puedes ayudar compartiendo su historia. Cada ficha tiene su propio enlace para enviarla por WhatsApp o redes.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="/adopta/">Ver los animales</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<!-- wp:shortcode -->
|
||||
[ga_cita]
|
||||
<!-- /wp:shortcode -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>📍 <strong>Jaizubia, 44 · 20280 Hondarribia (Gipuzkoa)</strong><br>📞 <a href="tel:+34943645279">943 64 52 79</a><br>✉️ <a href="mailto:hola@gureametsabilagun.org">hola@gureametsabilagun.org</a><br>🕙 Lunes a viernes: 10:00–13:00 y 14:00–19:00</p>
|
||||
<p>Jaizubia, 44 · 20280 Hondarribia (Gipuzkoa)<br><a href="tel:+34943645279">943 64 52 79</a> · <a href="mailto:hola@gureametsabilagun.org">hola@gureametsabilagun.org</a><br>Atención al público: lunes a viernes, 10:00–13:00 y 14:00–19:00</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"formulario"} -->
|
||||
@@ -7,7 +11,7 @@
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Para adopciones, acogidas, voluntariado o reservas del hotel, déjanos tu mensaje y te responderemos lo antes posible.</p>
|
||||
<p>Cuéntanos qué necesitas y te respondemos lo antes posible.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:shortcode -->
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p>¿Planeas unas vacaciones y no puedes llevar a tu compañero? En Gure Ametsa Bi Lagun cuidamos de tu perro o gato mientras estás fuera, en nuestras instalaciones de Jaizubia (Hondarribia), rodeadas de naturaleza.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Qué ofrecemos</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:list -->
|
||||
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||
<li>Alojamiento para perros y gatos, por días o temporadas</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Paseos y atención diaria de personal con experiencia</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Seguimiento de su alimentación y medicación si la necesita</li>
|
||||
<!-- /wp:list-item --></ul>
|
||||
<!-- /wp:list -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Para reservar es necesario que el animal tenga el microchip y las vacunas al día. Las plazas se llenan en verano y fechas señaladas: reserva con antelación.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/contacto/#formulario">Consultar disponibilidad</a></div>
|
||||
<!-- /wp:button -->
|
||||
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="tel:+34943645279">Llamar: 943 64 52 79</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
39
docker/content/es/preguntas-frecuentes.html
Normal file
39
docker/content/es/preguntas-frecuentes.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>¿Cómo puedo adoptar?</summary><!-- wp:paragraph -->
|
||||
<p>Entra en la ficha del animal que te interese y pulsa «Quiero conocerlo» o «Quiero conocerla». Te enviaremos nuestro cuestionario, lo valoramos con el equipo y quedamos para conoceros. Enviar la solicitud no confirma una adopción.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>¿Puedo ir directamente a conocer a los animales?</summary><!-- wp:paragraph -->
|
||||
<p>Las visitas son siempre con cita previa. Escríbenos o llámanos y buscamos un momento.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>¿Qué supone una acogida?</summary><!-- wp:paragraph -->
|
||||
<p>Ofrecer un hogar temporal a un animal mientras encuentra a su familia. La duración, los gastos, el material y el acompañamiento los concretamos contigo en cada caso.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>¿Cómo puedo hacer voluntariado?</summary><!-- wp:paragraph -->
|
||||
<p>Escríbenos: concertamos una primera cita y rellenamos un cuestionario. Buscamos ayuda con paseos, compañía y socialización.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>¿Qué material necesitáis?</summary><!-- wp:paragraph -->
|
||||
<p>Tienes la lista actualizada en <a href="/colabora/#material">Colabora</a>. Antes de traer nada, escríbenos para concretar la entrega.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>¿Puedo adoptar si ya tengo otros animales?</summary><!-- wp:paragraph -->
|
||||
<p>Depende de cada caso. Cuéntanoslo cuando nos escribas y lo valoramos juntos con el equipo.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>¿No encuentras tu respuesta? <a href="/contacto/#formulario">Escríbenos</a>.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
@@ -1,43 +1,33 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p><strong>Gure Ametsa Bi Lagun</strong> (en euskera, «nuestro sueño, dos amigos») es un centro de protección y residencia de animales situado en Jaizubia, Hondarribia.</p>
|
||||
<p>Bilagun es la protectora de Jaizubia, en Hondarribia. Desde hace más de 25 años colaboramos con los ayuntamientos de Irun y Hondarribia: cuando aparece un perro o un gato perdido o abandonado, llega a nuestras instalaciones, pasa control veterinario y lo cuidamos hasta que vuelve con su familia o encuentra una nueva.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Nuestra labor</h2>
|
||||
<h2 class="wp-block-heading">Cómo los cuidamos</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Trabajamos desde hace más de 25 años con los ayuntamientos de Irun y Hondarribia. Cuando la Policía Municipal encuentra un animal perdido o abandonado en la vía pública, lo trae a nuestras instalaciones. Aquí pasa un control veterinario y permanece alojado y cuidado hasta que vuelve con su familia o encuentra una nueva.</p>
|
||||
<p>Para nosotras cada animal es un individuo, con su historia, sus miedos y su forma de ser. Intentamos conocerlo bien para contar con sinceridad cómo es y qué necesita.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Cumpliendo la Ley de Bienestar Animal, todos los animales reciben los tratamientos necesarios antes de ser adoptados:</p>
|
||||
<p>Antes de la adopción, todos reciben microchip, vacunas, desparasitación y esterilización.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:list -->
|
||||
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||
<li>Identificación con microchip</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Vacunación y desparasitación</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Esterilización</li>
|
||||
<!-- /wp:list-item --></ul>
|
||||
<!-- /wp:list -->
|
||||
|
||||
<!-- wp:quote -->
|
||||
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
|
||||
<p>Adopta y cambia dos mundos: el suyo y el tuyo.</p>
|
||||
<!-- /wp:paragraph --></blockquote>
|
||||
<!-- /wp:quote -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">¿Has perdido a tu animal?</h2>
|
||||
<h2 class="wp-block-heading">Qué buscamos para ellos</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Si has perdido a tu perro o gato en Irun u Hondarribia, llámanos cuanto antes al <a href="tel:+34943645279">943 64 52 79</a> y avisa también a la Policía Municipal. Tener el microchip actualizado es la mejor forma de que vuelva a casa.</p>
|
||||
<p>No buscamos familias perfectas, sino familias que encajen con cada animal y respeten su ritmo. Por eso vamos sin prisas: primero nos conocemos y después valoramos juntos.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/adopta/">Conoce a los animales</a></div>
|
||||
<!-- /wp:button -->
|
||||
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="/colabora/">Colabora</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<!-- wp:shortcode -->
|
||||
[ga_cita]
|
||||
<!-- /wp:shortcode -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>📍 <strong>Jaizubia, 44 · 20280 Hondarribia (Gipuzkoa)</strong><br>📞 <a href="tel:+34943645279">943 64 52 79</a><br>✉️ <a href="mailto:hola@gureametsabilagun.org">hola@gureametsabilagun.org</a><br>🕙 Astelehenetik ostiralera: 10:00–13:00 eta 14:00–19:00</p>
|
||||
<p>Jaizubia, 44 · 20280 Hondarribia (Gipuzkoa)<br><a href="tel:+34943645279">943 64 52 79</a> · <a href="mailto:hola@gureametsabilagun.org">hola@gureametsabilagun.org</a><br>Jendaurreko arreta: astelehenetik ostiralera, 10:00–13:00 eta 14:00–19:00</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"formulario"} -->
|
||||
@@ -7,7 +11,7 @@
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Adopzioak, harrerak, boluntariotza edo hoteleko erreserbak direla eta, utzi zure mezua eta ahalik eta lasterren erantzungo dizugu.</p>
|
||||
<p>Kontaiguzu zer behar duzun eta ahalik eta lasterren erantzungo dizugu.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:shortcode -->
|
||||
|
||||
29
docker/content/eu/harrera.html
Normal file
29
docker/content/eu/harrera.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p>Agian orain ezin duzu adoptatu, baina bai etxe bat eskaini denbora batez. Idatzi iezaguzu eta kontatuko dizugu zein animaliak behar duten harrera eta nola lagun dezakezun.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Zer da harrera-etxe bat?</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Txakur edo katu batentzako aldi baterako etxea da, bere familia aurkitu bitartean. Batzuek bereziki behar dute: kumeek, animalia zaharrek edo sendatzen ari direnek, babeslekuan baino hobeto baitaude etxe batean.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Zer dakar?</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Harrera bakoitza desberdina da. Hasi aurretik zurekin hitz egingo dugu iraupenaz, gastuez, behar den materialaz eta harreran zehar nola lagunduko dizugun.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/eu/harremanetarako/?motivo=acogida#formulario">Harrera-etxe izan nahi dut</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Zalantzarik baduzu? Begiratu <a href="/eu/ohiko-galderak/">ohiko galderak</a> edo idatzi iezaguzu.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
@@ -1,35 +0,0 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p>Oporretara joateko asmoa duzu eta ezin duzu zure laguna eraman? Gure Ametsa Bi Lagunen zure txakurra edo katua zaintzen dugu kanpoan zauden bitartean, Hondarribiko Jaizubian ditugun instalazioetan, naturaz inguratuta.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Zer eskaintzen dugu</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:list -->
|
||||
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||
<li>Txakur eta katuentzako ostatua, egunka edo denboraldika</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Eguneroko ibilaldiak eta esperientziadun langileen arreta</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Elikaduraren eta, behar izanez gero, botiken jarraipena</li>
|
||||
<!-- /wp:list-item --></ul>
|
||||
<!-- /wp:list -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Erreserba egiteko, animaliak mikrotxipa eta txertoak egunean izan behar ditu. Udan eta data berezietan plazak azkar betetzen dira: egin erreserba aldez aurretik.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/eu/harremanetarako/#formulario">Galdetu erabilgarritasuna</a></div>
|
||||
<!-- /wp:button -->
|
||||
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="tel:+34943645279">Deitu: 943 64 52 79</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
@@ -1,63 +1,45 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p>Laguntza oro da garrantzitsua. Hauek dira gure animalien bizitza aldatzeko moduak:</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"adopcion"} -->
|
||||
<h2 class="wp-block-heading" id="adopcion">🏡 Adoptatu</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Adoptatzea da bizitza bat salbatzeko modurik zuzenena. Begiratu <a href="/eu/adopta/">adopzioko animaliak</a>, etorri haiek ezagutzera eta prozesu osoan lagunduko dizugu. Guztiak mikrotxiparekin, txertatuta eta antzututa ematen dira.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"acogida"} -->
|
||||
<h2 class="wp-block-heading" id="acogida">🤝 Harrera-etxea</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Animalia batzuek lehenbailehen irten behar dute zentrotik: kumeek, zaharrek edo gaixorik daudenek. Harrera-etxe gisa, aldi baterako etxe bat eskaintzen diezu behin betiko familia aurkitu bitartean. Guk uneoro bideratuko zaitugu.</p>
|
||||
<p>Bilaguneko animaliei laguntzeko modu asko daude, eta guztiak dira garrantzitsuak.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"voluntariado"} -->
|
||||
<h2 class="wp-block-heading" id="voluntariado">🦮 Boluntariotza</h2>
|
||||
<h2 class="wp-block-heading" id="voluntariado">Boluntariotza</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Txakurrak paseatu, katuak sozializatu, adopzio-jardunaldietan lagundu, fitxetarako argazkiak atera edo sare sozialetan zabaldu. Denbora eta gogoa badituzu, behar zaitugu!</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading {"anchor":"donaciones"} -->
|
||||
<h2 class="wp-block-heading" id="donaciones">💚 Dohaintzak</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Beti ondo etortzen zaizkigu:</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:list -->
|
||||
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||
<li>Txakur eta katuentzako pentsua eta latak</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Katuentzako harea</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Mantak, eskuoihalak eta oheak</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Uhalak, lepokoak, arneseak eta jostailuak</li>
|
||||
<!-- /wp:list-item --></ul>
|
||||
<!-- /wp:list -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Diru-ekarpen bat egin nahi baduzu, <a href="/eu/harremanetarako/#formulario">idatzi iezaguzu</a> eta nola egin azalduko dizugu.</p>
|
||||
<p>Txakur eta katuekin ibilaldiak, konpainia eta sozializazioa. Esku bat eman nahi badiguzu, lehen hitzordu bat hitzartu eta galdetegi bat beteko dugu elkarrekin.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/eu/harremanetarako/#formulario">Lagundu nahi dut</a></div>
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/eu/harremanetarako/?motivo=voluntario#formulario">Boluntario izan nahi dut</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
<!-- wp:heading {"anchor":"material"} -->
|
||||
<h2 class="wp-block-heading" id="material">Laguntza materiala</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:shortcode -->
|
||||
[ga_necesidades]
|
||||
<!-- /wp:shortcode -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/eu/harremanetarako/?motivo=material#formulario">Idatzi iezaguzu</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
<!-- wp:heading {"anchor":"compartir"} -->
|
||||
<h2 class="wp-block-heading" id="compartir">Partekatu haien istorioak</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Ezin baduzu adoptatu, haren istorioa partekatuz ere lagun dezakezu. Fitxa bakoitzak bere esteka du WhatsApp edo sare sozialen bidez bidaltzeko.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="/eu/adopta/">Ikusi animaliak</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
@@ -1,43 +1,33 @@
|
||||
<!-- wp:paragraph -->
|
||||
<p><strong>Gure Ametsa Bi Lagun</strong> animaliak babesteko zentro eta egoitza bat da, Hondarribiko Jaizubia auzoan.</p>
|
||||
<p>Bilagun Jaizubiko babeslekua da, Hondarribian. 25 urte baino gehiago daramatzagu Irun eta Hondarribiko udalekin lanean: txakur edo katu bat galduta edo abandonatuta agertzen denean, gure instalazioetara iristen da, albaitari-kontrola egiten zaio eta zaindu egiten dugu bere familiarengana itzuli arte edo familia berri bat aurkitu arte.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Gure lana</h2>
|
||||
<h2 class="wp-block-heading">Nola zaintzen ditugun</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>25 urte baino gehiago daramatzagu Irun eta Hondarribiko udalekin lanean. Udaltzaingoak kalean galdutako edo abandonatutako animalia bat aurkitzen duenean, gure instalazioetara ekartzen du. Hemen albaitari-kontrola egiten zaio eta zainduta egoten da bere familiarengana itzuli arte edo familia berri bat aurkitu arte.</p>
|
||||
<p>Guretzat animalia bakoitza norbait da, bere istorio, beldur eta izaerarekin. Ondo ezagutzen saiatzen gara, nolakoa den eta zer behar duen zintzotasunez kontatzeko.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Animalien Ongizaterako Legea betez, animalia guztiek beharrezko tratamenduak jasotzen dituzte adoptatu aurretik:</p>
|
||||
<p>Adoptatu aurretik, guztiek mikrotxipa, txertoak, desparasitazioa eta antzutzea jasotzen dituzte.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:list -->
|
||||
<ul class="wp-block-list"><!-- wp:list-item -->
|
||||
<li>Mikrotxip bidezko identifikazioa</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Txertaketa eta desparasitazioa</li>
|
||||
<!-- /wp:list-item -->
|
||||
|
||||
<!-- wp:list-item -->
|
||||
<li>Antzutzea</li>
|
||||
<!-- /wp:list-item --></ul>
|
||||
<!-- /wp:list -->
|
||||
|
||||
<!-- wp:quote -->
|
||||
<blockquote class="wp-block-quote"><!-- wp:paragraph -->
|
||||
<p>Adoptatu eta bi mundu aldatu: berea eta zurea.</p>
|
||||
<!-- /wp:paragraph --></blockquote>
|
||||
<!-- /wp:quote -->
|
||||
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">Zure animalia galdu duzu?</h2>
|
||||
<h2 class="wp-block-heading">Zer bilatzen dugun haientzat</h2>
|
||||
<!-- /wp:heading -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Zure txakurra edo katua Irunen edo Hondarribian galdu baduzu, deitu iezaguzu lehenbailehen <a href="tel:+34943645279">943 64 52 79</a> zenbakira eta jakinarazi Udaltzaingoari ere. Mikrotxipa eguneratuta izatea da etxera itzultzeko modurik onena.</p>
|
||||
<p>Ez dugu familia perfekturik bilatzen, animalia bakoitzarekin bat datozen eta haren erritmoa errespetatzen duten familiak baizik. Horregatik presarik gabe goaz: lehenik elkar ezagutu eta gero elkarrekin baloratzen dugu.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons"><!-- wp:button -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="/eu/adopta/">Ezagutu animaliak</a></div>
|
||||
<!-- /wp:button -->
|
||||
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="/eu/lagundu/">Lagundu</a></div>
|
||||
<!-- /wp:button --></div>
|
||||
<!-- /wp:buttons -->
|
||||
|
||||
39
docker/content/eu/ohiko-galderak.html
Normal file
39
docker/content/eu/ohiko-galderak.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>Nola adopta dezaket?</summary><!-- wp:paragraph -->
|
||||
<p>Sartu interesatzen zaizun animaliaren fitxan eta sakatu «Ezagutu nahi dut». Gure galdetegia bidaliko dizugu, taldearekin baloratuko dugu eta elkar ezagutzeko geratuko gara. Eskaera bidaltzeak ez du adopzioa baieztatzen.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>Zuzenean joan naiteke animaliak ezagutzera?</summary><!-- wp:paragraph -->
|
||||
<p>Bisitak beti aurretiko hitzorduarekin dira. Idatzi edo deitu iezaguzu eta une bat bilatuko dugu.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>Zer dakar harrera batek?</summary><!-- wp:paragraph -->
|
||||
<p>Animalia bati aldi baterako etxe bat eskaintzea, bere familia aurkitu bitartean. Iraupena, gastuak, materiala eta laguntza zurekin zehazten ditugu kasu bakoitzean.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>Nola egin dezaket boluntariotza?</summary><!-- wp:paragraph -->
|
||||
<p>Idatzi iezaguzu: lehen hitzordu bat hitzartu eta galdetegi bat betetzen dugu. Ibilaldietarako, konpainiarako eta sozializaziorako laguntza bilatzen dugu.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>Zer material behar duzue?</summary><!-- wp:paragraph -->
|
||||
<p>Zerrenda eguneratua <a href="/eu/lagundu/#material">Lagundu</a> atalean duzu. Ezer ekarri aurretik, idatzi iezaguzu entrega zehazteko.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:details -->
|
||||
<details class="wp-block-details"><summary>Adopta dezaket beste animaliak baditut?</summary><!-- wp:paragraph -->
|
||||
<p>Kasuaren araberakoa da. Kontaiguzu idazten diguzunean eta elkarrekin baloratuko dugu taldearekin.</p>
|
||||
<!-- /wp:paragraph --></details>
|
||||
<!-- /wp:details -->
|
||||
|
||||
<!-- wp:paragraph -->
|
||||
<p>Ez duzu zure erantzuna aurkitzen? <a href="/eu/harremanetarako/#formulario">Idatzi iezaguzu</a>.</p>
|
||||
<!-- /wp:paragraph -->
|
||||
@@ -1,45 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
* Contenido inicial bilingüe (castellano / euskera).
|
||||
* Se ejecuta una sola vez con: wp eval-file setup-content.php
|
||||
* Contenido bilingüe (castellano / euskera): idiomas, páginas, especies y menús.
|
||||
*
|
||||
* Idempotente: sirve para la instalación inicial y para las migraciones.
|
||||
* - Las páginas que falten se crean.
|
||||
* - Las páginas existentes solo se actualizan si nadie las ha editado
|
||||
* (se guarda una huella del contenido original en _ga_seed_hash).
|
||||
*
|
||||
* Uso: wp eval-file setup-content.php (GA_SEED_MENUS=true para rehacer los menús)
|
||||
*/
|
||||
|
||||
$src = ( getenv( 'GA_SRC' ) ?: '/usr/src/gure-ametsa' ) . '/content';
|
||||
$pll = function_exists( 'pll_set_post_language' ) && function_exists( 'PLL' );
|
||||
|
||||
if ( ! $pll ) {
|
||||
WP_CLI::warning( 'Polylang no está activo: se crea solo el contenido en castellano.' );
|
||||
WP_CLI::warning( 'Polylang no está activo: se gestiona solo el contenido en castellano.' );
|
||||
}
|
||||
|
||||
/* ---------- 1. Idiomas y ajustes de Polylang ---------- */
|
||||
if ( $pll ) {
|
||||
$model = PLL()->model;
|
||||
$existing = wp_list_pluck( $model->get_languages_list(), 'slug' );
|
||||
$langs = array(
|
||||
foreach ( array(
|
||||
array( 'locale' => 'es_ES', 'slug' => 'es', 'name' => 'Español', 'flag' => 'es', 'term_group' => 0 ),
|
||||
array( 'locale' => 'eu', 'slug' => 'eu', 'name' => 'Euskara', 'flag' => 'basque', 'term_group' => 1 ),
|
||||
);
|
||||
foreach ( $langs as $lang ) {
|
||||
if ( in_array( $lang['slug'], $existing, true ) ) {
|
||||
continue;
|
||||
}
|
||||
$result = $model->add_language( $lang );
|
||||
if ( is_wp_error( $result ) ) {
|
||||
WP_CLI::warning( 'No se pudo crear el idioma ' . $lang['slug'] . ': ' . $result->get_error_message() );
|
||||
) as $lang ) {
|
||||
if ( ! in_array( $lang['slug'], $existing, true ) ) {
|
||||
$result = $model->add_language( $lang );
|
||||
if ( is_wp_error( $result ) ) {
|
||||
WP_CLI::warning( 'No se pudo crear el idioma ' . $lang['slug'] . ': ' . $result->get_error_message() );
|
||||
}
|
||||
}
|
||||
}
|
||||
$model->clean_languages_cache();
|
||||
|
||||
$settings = array(
|
||||
'default_lang' => 'es',
|
||||
'force_lang' => 1, // Idioma en el directorio: /eu/...
|
||||
'hide_default' => true, // Castellano sin prefijo.
|
||||
'rewrite' => true, // /eu/ en lugar de /language/eu/.
|
||||
'redirect_lang' => true, // Portada en euskera en /eu/ (no /eu/hasiera/).
|
||||
'browser' => false,
|
||||
'post_types' => array( 'animal' ),
|
||||
'taxonomies' => array( 'especie' ),
|
||||
'sync' => array( 'taxonomies', 'post_meta', '_thumbnail_id', 'menu_order', 'post_parent' ),
|
||||
'default_lang' => 'es',
|
||||
'force_lang' => 1, // Idioma en el directorio: /eu/...
|
||||
'hide_default' => true, // Castellano sin prefijo.
|
||||
'rewrite' => true, // /eu/ en lugar de /language/eu/.
|
||||
'redirect_lang' => true, // Portada en euskera en /eu/.
|
||||
'browser' => false,
|
||||
'post_types' => array( 'animal' ),
|
||||
'taxonomies' => array( 'especie' ),
|
||||
'sync' => array( 'taxonomies', 'post_meta', '_thumbnail_id', 'menu_order', 'post_parent' ),
|
||||
);
|
||||
$options = PLL()->options;
|
||||
if ( is_object( $options ) && method_exists( $options, 'set' ) ) {
|
||||
@@ -52,7 +56,6 @@ if ( $pll ) {
|
||||
} else {
|
||||
update_option( 'polylang', array_merge( (array) get_option( 'polylang', array() ), $settings ) );
|
||||
}
|
||||
// Traducción al euskera del lema del sitio.
|
||||
if ( class_exists( 'PLL_MO' ) && ( $eu = $model->get_language( 'eu' ) ) ) {
|
||||
$mo = new PLL_MO();
|
||||
$mo->import_from_db( $eu );
|
||||
@@ -62,25 +65,46 @@ if ( $pll ) {
|
||||
if ( class_exists( 'PLL_Admin_Notices' ) ) {
|
||||
PLL_Admin_Notices::dismiss( 'wizard' );
|
||||
}
|
||||
WP_CLI::log( '[ga-setup] Idiomas: castellano (por defecto) y euskera' );
|
||||
}
|
||||
|
||||
/* ---------- 2. Páginas ---------- */
|
||||
function ga_setup_page( $slug, $title, $file, $lang ) {
|
||||
$existing = get_page_by_path( $slug, OBJECT, 'page' );
|
||||
if ( $existing ) {
|
||||
return $existing->ID;
|
||||
|
||||
/** ¿La página sigue con el contenido que pusimos nosotros? */
|
||||
function ga_setup_untouched( WP_Post $post ) {
|
||||
$hash = get_post_meta( $post->ID, '_ga_seed_hash', true );
|
||||
if ( $hash ) {
|
||||
return md5( $post->post_content ) === $hash;
|
||||
}
|
||||
$content = file_get_contents( $file );
|
||||
$id = wp_insert_post( array(
|
||||
'post_type' => 'page',
|
||||
'post_status' => 'publish',
|
||||
'post_title' => $title,
|
||||
'post_name' => $slug,
|
||||
'post_content' => $content,
|
||||
), true );
|
||||
if ( is_wp_error( $id ) ) {
|
||||
WP_CLI::error( "No se pudo crear la página $slug: " . $id->get_error_message() );
|
||||
// Páginas de la primera instalación (sin huella): intactas si nunca se han modificado.
|
||||
return $post->post_modified_gmt === $post->post_date_gmt;
|
||||
}
|
||||
|
||||
function ga_setup_page( $slug, $title, $file, $lang ) {
|
||||
$content = file_exists( $file ) ? file_get_contents( $file ) : '';
|
||||
$page = get_page_by_path( $slug, OBJECT, 'page' );
|
||||
|
||||
if ( $page && 'trash' !== $page->post_status ) {
|
||||
if ( $content && ga_setup_untouched( $page ) && trim( $page->post_content ) !== trim( $content ) ) {
|
||||
wp_update_post( array( 'ID' => $page->ID, 'post_content' => $content, 'post_title' => $title ) );
|
||||
update_post_meta( $page->ID, '_ga_seed_hash', md5( get_post( $page->ID )->post_content ) );
|
||||
WP_CLI::log( "[ga-setup] actualizada: $slug" );
|
||||
} elseif ( ! ga_setup_untouched( $page ) ) {
|
||||
WP_CLI::log( "[ga-setup] se respeta (editada): $slug" );
|
||||
}
|
||||
$id = $page->ID;
|
||||
} else {
|
||||
$id = wp_insert_post( array(
|
||||
'post_type' => 'page',
|
||||
'post_status' => 'publish',
|
||||
'post_title' => $title,
|
||||
'post_name' => $slug,
|
||||
'post_content' => $content,
|
||||
), true );
|
||||
if ( is_wp_error( $id ) ) {
|
||||
WP_CLI::error( "No se pudo crear la página $slug: " . $id->get_error_message() );
|
||||
}
|
||||
update_post_meta( $id, '_ga_seed_hash', md5( get_post( $id )->post_content ) );
|
||||
WP_CLI::log( "[ga-setup] creada: $slug" );
|
||||
}
|
||||
if ( function_exists( 'pll_set_post_language' ) ) {
|
||||
pll_set_post_language( $id, $lang );
|
||||
@@ -88,43 +112,50 @@ function ga_setup_page( $slug, $title, $file, $lang ) {
|
||||
return $id;
|
||||
}
|
||||
|
||||
// slug es => [título es, archivo es, slug eu, título eu, archivo eu]
|
||||
// slug es => [título es, slug eu, título eu]
|
||||
$pages = array(
|
||||
'inicio' => array( 'Inicio', 'inicio', 'hasiera', 'Hasiera', 'hasiera' ),
|
||||
'quienes-somos' => array( 'Quiénes somos', 'quienes-somos', 'nor-gara', 'Nor gara', 'nor-gara' ),
|
||||
'colabora' => array( 'Colabora', 'colabora', 'lagundu', 'Lagundu', 'lagundu' ),
|
||||
'hotel' => array( 'Hotel para perros y gatos', 'hotel', 'hotela', 'Txakur eta katuentzako hotela', 'hotela' ),
|
||||
'contacto' => array( 'Contacto', 'contacto', 'harremanetarako', 'Harremanetarako', 'harremanetarako' ),
|
||||
'politica-de-privacidad' => array( 'Política de privacidad', 'privacidad', 'pribatutasun-politika', 'Pribatutasun-politika', 'pribatutasun-politika' ),
|
||||
'aviso-legal' => array( 'Aviso legal', 'aviso-legal', 'lege-oharra', 'Lege-oharra', 'lege-oharra' ),
|
||||
'inicio' => array( 'Inicio', 'hasiera', 'Hasiera' ),
|
||||
'acoge' => array( 'Acoge', 'harrera', 'Harrera' ),
|
||||
'colabora' => array( 'Colabora', 'lagundu', 'Lagundu' ),
|
||||
'quienes-somos' => array( 'Quiénes somos', 'nor-gara', 'Nor gara' ),
|
||||
'contacto' => array( 'Contacto', 'harremanetarako', 'Harremanetarako' ),
|
||||
'preguntas-frecuentes' => array( 'Preguntas frecuentes', 'ohiko-galderak', 'Ohiko galderak' ),
|
||||
'politica-de-privacidad' => array( 'Política de privacidad', 'pribatutasun-politika', 'Pribatutasun-politika' ),
|
||||
'aviso-legal' => array( 'Aviso legal', 'lege-oharra', 'Lege-oharra' ),
|
||||
);
|
||||
$files = array( 'politica-de-privacidad' => 'privacidad' );
|
||||
|
||||
$ids = array();
|
||||
foreach ( $pages as $slug => [ $title_es, $file_es, $slug_eu, $title_eu, $file_eu ] ) {
|
||||
$ids[ $slug ]['es'] = ga_setup_page( $slug, $title_es, "$src/es/$file_es.html", 'es' );
|
||||
foreach ( $pages as $slug => [ $title_es, $slug_eu, $title_eu ] ) {
|
||||
$ids[ $slug ]['es'] = ga_setup_page( $slug, $title_es, "$src/es/" . ( $files[ $slug ] ?? $slug ) . '.html', 'es' );
|
||||
if ( $pll ) {
|
||||
$ids[ $slug ]['eu'] = ga_setup_page( $slug_eu, $title_eu, "$src/eu/$file_eu.html", 'eu' );
|
||||
$ids[ $slug ]['eu'] = ga_setup_page( $slug_eu, $title_eu, "$src/eu/$slug_eu.html", 'eu' );
|
||||
pll_save_post_translations( $ids[ $slug ] );
|
||||
}
|
||||
}
|
||||
|
||||
// El hotel ya no forma parte de la web: se retira si nadie lo ha editado.
|
||||
foreach ( array( 'hotel', 'hotela' ) as $slug ) {
|
||||
$page = get_page_by_path( $slug, OBJECT, 'page' );
|
||||
if ( $page && 'trash' !== $page->post_status ) {
|
||||
if ( ga_setup_untouched( $page ) ) {
|
||||
wp_trash_post( $page->ID );
|
||||
WP_CLI::log( "[ga-setup] a la papelera: $slug" );
|
||||
} else {
|
||||
WP_CLI::warning( "La página «$slug» se ha editado: no se borra, revísala a mano." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
update_option( 'show_on_front', 'page' );
|
||||
update_option( 'page_on_front', $ids['inicio']['es'] );
|
||||
update_option( 'wp_page_for_privacy_policy', $ids['politica-de-privacidad']['es'] );
|
||||
WP_CLI::log( '[ga-setup] Páginas creadas' );
|
||||
WP_CLI::log( '[ga-setup] Páginas listas' );
|
||||
|
||||
/* ---------- 3. Especies ---------- */
|
||||
$species = array(
|
||||
'perro' => array( 'Perro', 'txakurra', 'Txakurra' ),
|
||||
'gato' => array( 'Gato', 'katua', 'Katua' ),
|
||||
'otros' => array( 'Otros', 'besteak', 'Besteak' ),
|
||||
);
|
||||
/* ---------- 3. Especies: solo perros y gatos ---------- */
|
||||
$term_ids = array();
|
||||
foreach ( $species as $slug => [ $name_es, $slug_eu, $name_eu ] ) {
|
||||
$pairs = array( 'es' => array( $slug, $name_es ) );
|
||||
if ( $pll ) {
|
||||
$pairs['eu'] = array( $slug_eu, $name_eu );
|
||||
}
|
||||
foreach ( array( 'perro' => array( 'Perro', 'txakurra', 'Txakurra' ), 'gato' => array( 'Gato', 'katua', 'Katua' ) ) as $slug => [ $name_es, $slug_eu, $name_eu ] ) {
|
||||
$pairs = array( 'es' => array( $slug, $name_es ) ) + ( $pll ? array( 'eu' => array( $slug_eu, $name_eu ) ) : array() );
|
||||
foreach ( $pairs as $lang => [ $term_slug, $term_name ] ) {
|
||||
$term = get_term_by( 'slug', $term_slug, 'especie' );
|
||||
if ( ! $term ) {
|
||||
@@ -138,64 +169,95 @@ foreach ( $species as $slug => [ $name_es, $slug_eu, $name_eu ] ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( $pll && count( $term_ids[ $slug ] ?? array() ) === 2 ) {
|
||||
if ( $pll && 2 === count( $term_ids[ $slug ] ?? array() ) ) {
|
||||
pll_save_term_translations( $term_ids[ $slug ] );
|
||||
}
|
||||
}
|
||||
foreach ( array( 'otros', 'besteak' ) as $slug ) {
|
||||
$term = get_term_by( 'slug', $slug, 'especie' );
|
||||
if ( $term && 0 === (int) $term->count ) {
|
||||
wp_delete_term( $term->term_id, 'especie' );
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------- 4. Menús ---------- */
|
||||
function ga_setup_menu( $name, $items ) {
|
||||
function ga_setup_menu( $name, $items, $rebuild ) {
|
||||
$menu = wp_get_nav_menu_object( $name );
|
||||
if ( $menu ) {
|
||||
if ( $menu && ! $rebuild ) {
|
||||
return $menu->term_id;
|
||||
}
|
||||
if ( $menu ) {
|
||||
wp_delete_nav_menu( $menu->term_id );
|
||||
}
|
||||
$menu_id = wp_create_nav_menu( $name );
|
||||
foreach ( $items as $pos => $item ) {
|
||||
$args = array( 'menu-item-status' => 'publish', 'menu-item-position' => $pos + 1, 'menu-item-title' => $item['title'] );
|
||||
if ( isset( $item['page'] ) ) {
|
||||
$args += array( 'menu-item-type' => 'post_type', 'menu-item-object' => 'page', 'menu-item-object-id' => $item['page'] );
|
||||
} else {
|
||||
$args += array( 'menu-item-type' => 'custom', 'menu-item-url' => $item['url'] );
|
||||
$pos = 0;
|
||||
$add = function ( $item, $parent = 0 ) use ( $menu_id, &$pos, &$add ) {
|
||||
$args = array(
|
||||
'menu-item-status' => 'publish',
|
||||
'menu-item-position' => ++$pos,
|
||||
'menu-item-title' => $item['title'],
|
||||
'menu-item-parent-id' => $parent,
|
||||
);
|
||||
$args += isset( $item['page'] )
|
||||
? array( 'menu-item-type' => 'post_type', 'menu-item-object' => 'page', 'menu-item-object-id' => $item['page'] )
|
||||
: array( 'menu-item-type' => 'custom', 'menu-item-url' => $item['url'] );
|
||||
$id = wp_update_nav_menu_item( $menu_id, 0, $args );
|
||||
foreach ( $item['children'] ?? array() as $child ) {
|
||||
$add( $child, $id );
|
||||
}
|
||||
wp_update_nav_menu_item( $menu_id, 0, $args );
|
||||
};
|
||||
foreach ( $items as $item ) {
|
||||
$add( $item );
|
||||
}
|
||||
return $menu_id;
|
||||
}
|
||||
|
||||
$menus = array(
|
||||
$rebuild = 'true' === getenv( 'GA_SEED_MENUS' );
|
||||
$menus = array(
|
||||
'primary' => array(
|
||||
'es' => ga_setup_menu( 'Principal', array(
|
||||
array( 'title' => 'Adopta', 'url' => '/adopta/' ),
|
||||
array( 'title' => 'Acoge', 'url' => '/colabora/#acogida' ),
|
||||
array( 'title' => 'Voluntariado', 'url' => '/colabora/#voluntariado' ),
|
||||
array( 'title' => 'Dona', 'url' => '/colabora/#donaciones' ),
|
||||
array( 'title' => 'Hotel', 'page' => $ids['hotel']['es'] ),
|
||||
array( 'title' => 'Inicio', 'page' => $ids['inicio']['es'] ),
|
||||
array( 'title' => 'Adopta', 'url' => '/adopta/', 'children' => array(
|
||||
array( 'title' => 'Perros', 'url' => '/especie/perro/' ),
|
||||
array( 'title' => 'Gatos', 'url' => '/especie/gato/' ),
|
||||
) ),
|
||||
array( 'title' => 'Acoge', 'page' => $ids['acoge']['es'] ),
|
||||
array( 'title' => 'Colabora', 'page' => $ids['colabora']['es'], 'children' => array(
|
||||
array( 'title' => 'Voluntariado', 'url' => '/colabora/#voluntariado' ),
|
||||
array( 'title' => 'Ayuda material', 'url' => '/colabora/#material' ),
|
||||
) ),
|
||||
array( 'title' => 'Quiénes somos', 'page' => $ids['quienes-somos']['es'] ),
|
||||
array( 'title' => 'Contacto', 'page' => $ids['contacto']['es'] ),
|
||||
) ),
|
||||
), $rebuild ),
|
||||
),
|
||||
'footer' => array(
|
||||
'es' => ga_setup_menu( 'Legal', array(
|
||||
array( 'title' => 'Aviso legal', 'page' => $ids['aviso-legal']['es'] ),
|
||||
array( 'title' => 'Política de privacidad', 'page' => $ids['politica-de-privacidad']['es'] ),
|
||||
) ),
|
||||
), $rebuild ),
|
||||
),
|
||||
);
|
||||
if ( $pll ) {
|
||||
$menus['primary']['eu'] = ga_setup_menu( 'Nagusia (euskara)', array(
|
||||
array( 'title' => 'Adoptatu', 'url' => '/eu/adopta/' ),
|
||||
array( 'title' => 'Harrera', 'url' => '/eu/lagundu/#acogida' ),
|
||||
array( 'title' => 'Boluntariotza', 'url' => '/eu/lagundu/#voluntariado' ),
|
||||
array( 'title' => 'Dohaintza', 'url' => '/eu/lagundu/#donaciones' ),
|
||||
array( 'title' => 'Hotela', 'page' => $ids['hotel']['eu'] ),
|
||||
array( 'title' => 'Hasiera', 'page' => $ids['inicio']['eu'] ),
|
||||
array( 'title' => 'Adoptatu', 'url' => '/eu/adopta/', 'children' => array(
|
||||
array( 'title' => 'Txakurrak', 'url' => '/eu/especie/txakurra/' ),
|
||||
array( 'title' => 'Katuak', 'url' => '/eu/especie/katua/' ),
|
||||
) ),
|
||||
array( 'title' => 'Harrera', 'page' => $ids['acoge']['eu'] ),
|
||||
array( 'title' => 'Lagundu', 'page' => $ids['colabora']['eu'], 'children' => array(
|
||||
array( 'title' => 'Boluntariotza', 'url' => '/eu/lagundu/#voluntariado' ),
|
||||
array( 'title' => 'Laguntza materiala', 'url' => '/eu/lagundu/#material' ),
|
||||
) ),
|
||||
array( 'title' => 'Nor gara', 'page' => $ids['quienes-somos']['eu'] ),
|
||||
array( 'title' => 'Harremanetarako', 'page' => $ids['contacto']['eu'] ),
|
||||
) );
|
||||
), $rebuild );
|
||||
$menus['footer']['eu'] = ga_setup_menu( 'Legala (euskara)', array(
|
||||
array( 'title' => 'Lege-oharra', 'page' => $ids['aviso-legal']['eu'] ),
|
||||
array( 'title' => 'Pribatutasun-politika', 'page' => $ids['politica-de-privacidad']['eu'] ),
|
||||
) );
|
||||
), $rebuild );
|
||||
|
||||
$theme = get_stylesheet();
|
||||
$nav_menus = array( $theme => $menus );
|
||||
$nav_menus = array( get_stylesheet() => $menus );
|
||||
if ( is_object( PLL()->options ) && method_exists( PLL()->options, 'set' ) ) {
|
||||
PLL()->options->set( 'nav_menus', $nav_menus );
|
||||
if ( method_exists( PLL()->options, 'save_all' ) ) {
|
||||
@@ -207,44 +269,51 @@ if ( $pll ) {
|
||||
update_option( 'polylang', $opts );
|
||||
}
|
||||
}
|
||||
set_theme_mod( 'nav_menu_locations', array(
|
||||
'primary' => $menus['primary']['es'],
|
||||
'footer' => $menus['footer']['es'],
|
||||
) );
|
||||
WP_CLI::log( '[ga-setup] Menús creados' );
|
||||
set_theme_mod( 'nav_menu_locations', array( 'primary' => $menus['primary']['es'], 'footer' => $menus['footer']['es'] ) );
|
||||
WP_CLI::log( '[ga-setup] Menús listos' );
|
||||
|
||||
/* ---------- 5. Animales de ejemplo (opcional) ---------- */
|
||||
if ( 'true' === getenv( 'SEED_DEMO_ANIMALS' ) ) {
|
||||
/* ---------- 5. Animales ---------- */
|
||||
|
||||
// Estados antiguos → nuevos (disponible / proceso / adoptado).
|
||||
foreach ( get_posts( array( 'post_type' => 'animal', 'post_status' => 'any', 'numberposts' => -1, 'fields' => 'ids', 'lang' => '' ) ) as $animal_id ) {
|
||||
$estado = get_post_meta( $animal_id, '_ga_estado', true );
|
||||
$map = array( 'reservado' => 'proceso', 'urgente' => 'disponible', 'acogida' => 'disponible' );
|
||||
if ( isset( $map[ $estado ] ) ) {
|
||||
update_post_meta( $animal_id, '_ga_estado', $map[ $estado ] );
|
||||
}
|
||||
}
|
||||
|
||||
if ( 'true' === getenv( 'SEED_DEMO_ANIMALS' ) && ! get_posts( array( 'post_type' => 'animal', 'numberposts' => 1, 'post_status' => 'any', 'lang' => '' ) ) ) {
|
||||
$demo = array(
|
||||
array(
|
||||
'es' => array( 'Txuri (ejemplo)', 'Txuri es cariñosa, tranquila en casa y le encantan los paseos por Jaizkibel.' ),
|
||||
'eu' => array( 'Txuri (adibidea)', 'Txuri maitekorra da, lasaia etxean, eta Jaizkibelen barrena paseatzea asko gustatzen zaio.' ),
|
||||
'es' => array( 'Txuri (ejemplo)', 'Llegó un poco asustada, pero en cuanto coge confianza no se separa de ti.', array( 'caracter' => 'Tranquila en casa y muy cariñosa con quien conoce. Le encantan los paseos largos.', 'hogar' => 'Una familia que respete su ritmo y le acompañe con paciencia.' ) ),
|
||||
'eu' => array( 'Txuri (adibidea)', 'Beldur pixka batekin iritsi zen, baina konfiantza hartzen duenean ez da zure ondotik aldentzen.', array( 'caracter' => 'Lasaia etxean eta oso maitekorra ezagutzen dituenekin. Ibilaldi luzeak asko gustatzen zaizkio.', 'hogar' => 'Bere erritmoa errespetatu eta pazientziaz lagunduko dion familia bat.' ) ),
|
||||
'sp' => 'perro',
|
||||
'meta' => array( 'sexo' => 'hembra', 'edad' => '3', 'edad_unidad' => 'anos', 'tamano' => 'mediano', 'estado' => 'disponible', 'raza' => 'Mestiza' ),
|
||||
'meta' => array( 'sexo' => 'hembra', 'edad' => '3', 'edad_unidad' => 'anos', 'tamano' => 'mediano', 'estado' => 'disponible', 'destacado' => '1' ),
|
||||
),
|
||||
array(
|
||||
'es' => array( 'Beltza (ejemplo)', 'Beltza es un gato curioso y juguetón que busca un hogar sin prisas.' ),
|
||||
'eu' => array( 'Beltza (adibidea)', 'Beltza katu jakin-nahia eta jostalaria da, eta presarik gabe etxe baten bila dabil.' ),
|
||||
'es' => array( 'Beltza (ejemplo)', 'Curioso y juguetón, siempre quiere saber qué estás haciendo.', array( 'caracter' => 'Muy sociable con las personas. Le gusta jugar y dormir al sol.' ) ),
|
||||
'eu' => array( 'Beltza (adibidea)', 'Jakin-mina eta jostalaria, beti jakin nahi du zer egiten ari zaren.', array( 'caracter' => 'Oso soziala pertsonekin. Jolastea eta eguzkitan lo egitea gustatzen zaizkio.' ) ),
|
||||
'sp' => 'gato',
|
||||
'meta' => array( 'sexo' => 'macho', 'edad' => '1', 'edad_unidad' => 'anos', 'tamano' => 'pequeno', 'estado' => 'disponible', 'raza' => 'Común europeo' ),
|
||||
'meta' => array( 'sexo' => 'macho', 'edad' => '1', 'edad_unidad' => 'anos', 'estado' => 'disponible' ),
|
||||
),
|
||||
array(
|
||||
'es' => array( 'Hartz (ejemplo)', 'Hartz es un abuelito noble que merece pasar sus mejores años en familia.' ),
|
||||
'eu' => array( 'Hartz (adibidea)', 'Hartz aitona noblea da, eta bere urterik onenak familian igarotzea merezi du.' ),
|
||||
'es' => array( 'Hartz (ejemplo)', 'Un abuelito noble que merece pasar sus mejores años en familia.', array( 'necesidades' => 'Paseos tranquilos y una casa sin muchas escaleras.' ) ),
|
||||
'eu' => array( 'Hartz (adibidea)', 'Aitona noblea, bere urterik onenak familian igarotzea merezi duena.', array( 'necesidades' => 'Ibilaldi lasaiak eta eskailera askorik gabeko etxea.' ) ),
|
||||
'sp' => 'perro',
|
||||
'meta' => array( 'sexo' => 'macho', 'edad' => '7', 'edad_unidad' => 'anos', 'tamano' => 'grande', 'estado' => 'urgente', 'raza' => 'Mastín' ),
|
||||
'meta' => array( 'sexo' => 'macho', 'edad' => '9', 'edad_unidad' => 'anos', 'tamano' => 'grande', 'estado' => 'disponible', 'destacado' => '1' ),
|
||||
),
|
||||
array(
|
||||
'es' => array( 'Ilargi (ejemplo)', 'Ilargi es una gatita sociable que se lleva bien con otros gatos.' ),
|
||||
'eu' => array( 'Ilargi (adibidea)', 'Ilargi katakume soziala da eta beste katuekin ondo moldatzen da.' ),
|
||||
'es' => array( 'Ilargi (ejemplo)', 'Una gatita sociable que se lleva bien con otros gatos.', array() ),
|
||||
'eu' => array( 'Ilargi (adibidea)', 'Beste katuekin ondo moldatzen den katakume soziala.', array() ),
|
||||
'sp' => 'gato',
|
||||
'meta' => array( 'sexo' => 'hembra', 'edad' => '4', 'edad_unidad' => 'meses', 'tamano' => 'pequeno', 'estado' => 'reservado', 'raza' => 'Común europeo' ),
|
||||
'meta' => array( 'sexo' => 'hembra', 'edad' => '4', 'edad_unidad' => 'meses', 'estado' => 'proceso' ),
|
||||
),
|
||||
);
|
||||
foreach ( $demo as $animal ) {
|
||||
$translations = array();
|
||||
foreach ( $pll ? array( 'es', 'eu' ) : array( 'es' ) as $lang ) {
|
||||
[ $title, $text ] = $animal[ $lang ];
|
||||
[ $title, $text, $texts ] = $animal[ $lang ];
|
||||
$id = wp_insert_post( array(
|
||||
'post_type' => 'animal',
|
||||
'post_status' => 'publish',
|
||||
@@ -254,7 +323,7 @@ if ( 'true' === getenv( 'SEED_DEMO_ANIMALS' ) ) {
|
||||
if ( ! empty( $term_ids[ $animal['sp'] ][ $lang ] ) ) {
|
||||
wp_set_object_terms( $id, array( $term_ids[ $animal['sp'] ][ $lang ] ), 'especie' );
|
||||
}
|
||||
foreach ( $animal['meta'] + array( 'salud' => 'chip,vacunado,esterilizado', 'compatible' => 'perros,ninos' ) as $key => $value ) {
|
||||
foreach ( $animal['meta'] + $texts as $key => $value ) {
|
||||
update_post_meta( $id, "_ga_$key", $value );
|
||||
}
|
||||
if ( $pll ) {
|
||||
|
||||
@@ -103,7 +103,7 @@ if (( VERSION < 2 )); then
|
||||
wp_ language plugin install polylang es_ES eu 2>/dev/null || true
|
||||
|
||||
# Idiomas, páginas, especies, menús y (opcional) animales de ejemplo
|
||||
if ! wp_ eval-file "$SRC/setup-content.php"; then
|
||||
if ! GA_SEED_MENUS=true wp_ eval-file "$SRC/setup-content.php"; then
|
||||
log "Fallo creando el contenido inicial"
|
||||
exit 1
|
||||
fi
|
||||
@@ -127,7 +127,6 @@ if (( VERSION < 3 )); then
|
||||
instagram-feed # Feed de Instagram
|
||||
koko-analytics # Estadísticas sin cookies
|
||||
kadence-blocks # Bloques visuales: carruseles, pestañas, acordeones…
|
||||
blocks-animation # Animaciones de entrada para cualquier bloque
|
||||
)
|
||||
# Instalados pero desactivados: se activan cuando se necesiten
|
||||
INACTIVE=(
|
||||
@@ -170,4 +169,18 @@ if (( VERSION < 4 )); then
|
||||
wp_ option update ga_setup_version 4
|
||||
fi
|
||||
|
||||
# Etapa 5: indicaciones del cliente (adopción solo Perros/Gatos, fichas nuevas, sin hotel ni donaciones)
|
||||
if (( VERSION < 5 )); then
|
||||
log "Migración 5: páginas, menús y fichas nuevas"
|
||||
# Crea las páginas nuevas, actualiza solo las que nadie ha editado, retira el hotel y rehace los menús
|
||||
if ! GA_SEED_MENUS=true wp_ eval-file "$SRC/setup-content.php"; then
|
||||
log "Fallo en la migración 5"
|
||||
exit 1
|
||||
fi
|
||||
# Sin animaciones que distraigan
|
||||
wp_ plugin deactivate blocks-animation >/dev/null 2>&1 || true
|
||||
wp_ rewrite flush
|
||||
wp_ option update ga_setup_version 5
|
||||
fi
|
||||
|
||||
log "Configuración completada"
|
||||
|
||||
Reference in New Issue
Block a user