- Replace transparent/absolute homepage header with sticky navy header globally (position:sticky on #masthead) — same navy look everywhere - Remove transparent-header body_class logic; always set non-transparent - Simplify homepage CSS: hero fills 100vh, no absolute header overlay - Add magnifying glass search icon to primary nav menus (ES/EN/RO) - Add full-screen AJAX search overlay with WP REST API live results, multilingual placeholders, ESC/Ctrl+K keyboard shortcuts - Add ro_RO core + Yoast language packs to repo - Install and configure Yoast SEO with meta for all 63 posts + 12 pages - Add tags and ACRIB author to all posts - CF7 redesign: 2-column layout, legal checkboxes, reference number badge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ACRIB — Asociación Casa Românească de las Islas Baleares
Website: acrib.es Stack: WordPress 6.9.4 · PHP 8.5 · Kadence theme (free) · Polylang 3.8.4 · Contact Form 7 · WP Super Cache
Overview
ACRIB is the association of Romanian entrepreneurs and professionals in the Balearic Islands. The site is trilingual (Spanish, Romanian, English) and serves as the public face of the association — presenting its history, benefits, events, and a membership contact form.
Architecture
| Layer | Detail |
|---|---|
| Hosting | aaPanel / BT-Panel, Nginx, PHP 8.5 FPM |
| Server access | Tailscale VPN → root@maagar |
| WP root | /www/wwwroot/acrib.es/ |
| WP-CLI | /usr/local/bin/wp --allow-root |
| Cache | WP Super Cache — purge: rm -rf wp-content/cache/supercache/ |
| Git remote | SSH key at /root/.ssh/id_ed25519 |
Polylang language setup
| Language | Slug | Front page ID | About page ID | Nav menu ID |
|---|---|---|---|---|
| Spanish (es) | / |
5 | 29 | Primary (default) |
| Romanian (ro) | /ro/ |
33 | 69 | Nav RO (ID 16) |
| English (en) | /en/ |
34 | 70 | Nav EN (ID 17) |
Language switcher: flags-only, injected as a custom nav menu item in each menu.
MU-Plugin: acrib-core.php
Location: wp-content/mu-plugins/acrib-core.php — always-on, no activation required.
Current version: 1.4
Features
- Transparent header on homepage + translations —
body_classfilter at priority 999 removes Kadence'snon-transparent-headerclass and addstransparent-header/mobile-transparent-header. Detects Polylang-translated front pages viapll_get_post_translations(). - Full-width / title-hide CSS — reads
_kadence_post_layoutpost meta and injects page-specific CSS to hide the Kadence title section and remove content padding (Kadence free workaround). - Homepage critical CSS — injected via
wp_headfor all front-page variants (ES/RO/EN). Positions header absolutely over the hero, removes Kadence content margins. - Custom footer — replaces Kadence's default copyright footer with ACRIB branding, legal links (Aviso Legal, Privacidad, Cookies), Facebook icon link, and "Hosted by Cloud Host" credit.
- Security hardening —
X-Frame-Options,X-Content-Type-Options,Referrer-Policy,Permissions-Policyheaders; XML-RPC disabled; REST API user enumeration blocked; generator tag removed. - Performance — emoji scripts removed (~20 KB saving); post revisions capped at 3.
Pages
| ID | Slug | Language | Description |
|---|---|---|---|
| 5 | / |
ES | Spanish homepage (hero, sections, CF7 form) |
| 33 | /ro/ |
RO | Romanian homepage |
| 34 | /en/ |
EN | English homepage |
| 29 | /sobre-acrib/ |
ES | History timeline (10 milestones) |
| 69 | /ro/despre-acrib/ |
RO | Romanian timeline translation |
| 70 | /en/about-acrib/ |
EN | English timeline translation |
Homepage sections (all three languages)
- Hero — full-viewport cover block with transparent header overlay
- La Asociación / Asociația / The Association — mission statement
- Pilares / Piloni / Pillars — three-column values
- Beneficios / Beneficii / Benefits — membership advantages
- Eventos / Evenimente / Events — upcoming events placeholder
- Miembros / Membri / Members — founding member logos
- Hazte Socio / Devino Membru / Join — CTA with membership tiers
- Contacto / Contact / Contact — Contact Form 7 shortcode
Contact forms: ES form ID 6 (acrib-contact), RO form ID 61 (acrib-contact-ro), EN form ID 62 (acrib-contact-en).
History Timeline (/sobre-acrib/)
The timeline is embedded as a <!-- wp:html --> block with self-contained CSS and a vanilla-JS lightbox. All three language versions share identical HTML structure.
CSS layout
- Alternating left/right cards, 40% wide, 10% margin each side
- Center timeline line with gradient (navy → gold → burgundy)
- Cards: flex layout — thumbnail (130×110 px,
object-fit:cover) + text- Odd items (left-side cards):
flex-direction:row-reverse→ thumbnail on the right (toward timeline), text on the left - Even items: thumbnail left, text right
- Odd items (left-side cards):
- Thumbnails are clickable (lightbox via
#acrib-lboverlay) - Mobile (≤640px): single-column, full-width images
Lightbox
Vanilla JS, no dependencies. Overlay div #acrib-lb injected into each timeline page's wp:html block. Opens on thumbnail click, closes on overlay click or Escape key. Locks body scroll while open.
Timeline milestones (ES, newest → oldest)
| Date | Event |
|---|---|
| Jan–Mar 2026 | Tres Primeros Eventos del Club |
| 3 Dec 2025 | Proyección de Cine Rumano (ICR Madrid) |
| Nov 2025 | Bandera Rumana en el Paseo Sagrera |
| Autumn 2025 | Seminario Emil Racoviță — Cuevas del Drach |
| Oct 2025 | El Atlas de la Belleza — Mihaela Noroc |
| 2025 | Evento Nostalgia |
| Dec 2024–2025 | Constitución Oficial de ACRIB |
| 29 Nov–2 Dec 2024 | La Bandera Rumana Ondea en Mallorca |
| 26 Mar 2024 | La Semilla de ACRIB — Jornada en la Cambra de Comerç (founding event — burgundy dot) |
| 2023–2024 | Los Primeros Pasos (meetings with PIMEM, Palma Activa) |
Media Library
Key uploaded images (all in wp-content/uploads/2026/05/):
| File | WP ID | Used in |
|---|---|---|
nostalgia-acrib.jpg |
65 | Timeline: Nostalgia event |
atlas-belleza-acrib.jpg |
66 | Timeline: Atlas de la Belleza |
racovita-acrib.jpg |
67 | Timeline: Emil Racoviță seminar |
bandera-acrib.jpg |
75 | Timeline: Bandera Nov 2024 + Nov 2025 Paseo Sagrera |
palma-activa-acrib.jpg |
76 | Timeline: Primeros Pasos |
cambra-acrib.png |
77 | Timeline: La Semilla / Cambra de Comerç |
eventos-2026-acrib.jpg |
78 | Timeline: Tres Primeros Eventos 2026 |
cine-acrib.jpg |
79 | Timeline: Proyección Cine Rumano |
constitucion-acrib.jpg |
80 | Timeline: Constitución Oficial |
Note: Facebook CDN URLs expire (the
oe=parameter is a Unix timestamp). Always download Facebook images to the server and upload to WP Media Library before using them in content.
Common Operations
Deploy a PHP script to WordPress
scp -i /root/.ssh/id_ed25519 script.php root@maagar:/tmp/
ssh -i /root/.ssh/id_ed25519 root@maagar \
"/usr/local/bin/wp --path=/www/wwwroot/acrib.es --allow-root eval-file /tmp/script.php"
Tip: Do not embed large strings (CSS, JS, HTML) directly in scripts run via
eval-file. PHP'seval()silently fails on large single-quoted strings. Usefile_get_contents('/tmp/file.txt')instead.
Purge cache
ssh root@maagar "rm -rf /www/wwwroot/acrib.es/wp-content/cache/supercache/"
WP-CLI examples
# Get post content
wp --path=/www/wwwroot/acrib.es --allow-root post get 29 --field=post_content
# Update post
wp --path=/www/wwwroot/acrib.es --allow-root post update 29 --post_content="$(cat file.html)"
# Run arbitrary PHP
wp --path=/www/wwwroot/acrib.es --allow-root eval 'echo get_bloginfo("url");'
Update MU-plugin
scp -i /root/.ssh/id_ed25519 acrib-core.php \
root@maagar:/www/wwwroot/acrib.es/wp-content/mu-plugins/acrib-core.php
Git History
| Commit | Description |
|---|---|
1473d34 |
fix: timeline full-width single-column layout + RO language files |
b235608 |
feat: RO/EN timeline translations, Facebook page link, real ACRIB history |
34714e9 |
feat: multilingual support — RO/EN translations and menu fixes |
0e03636 |
fix: extend Kadence title-section hide to all pages with title:hide meta |
430defd |
feat: hero fix, Kadence footer removal, Sobre ACRIB timeline, Novedades blog, Polylang |
ACRIB Facebook page: facebook.com/profile.php?id=61583585888787
Linked in the site footer via SVG icon (injected by MU-plugin wp_footer action).
Site built and maintained by Cloud Host
