feat: add native search results vertical slice - #1
Draft
fgirolami29 wants to merge 79 commits into
Draft
Conversation
fgirolami29
force-pushed
the
feat/native-search-module-v0.1.0
branch
from
July 29, 2026 17:52
6cde6ac to
694d808
Compare
…module-v0.1.0' into feat/native-search-module-v0.1.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cosa introduce
codecorn/search-results, mostrato nel Builder come CC Search Results;codecorn/search-result-type, mostrato come CC Result Type;$wp_query;WP_Queryisolata per preview, pagine normali e shortcode;[cc_divi5_search_results]come adapter opzionale e non come implementazione primaria;Correzione query e paginazione
La prima implementazione di
source=currentrestituiva direttamente i post già risolti dalla query globale. Di conseguenza il limite del sito — nel collaudo Barbagia, 3 risultati — ignorava Results per page sia nella paginazione normale sia in AJAX.Ora il resolver:
posts_per_pagee pagina corrente del parent;WP_Queryprivata;cc_d5sr_current_query_args.Valori vuoti o non validi di Results per page tornano a 10. Colonne e quantità di risultati sono indipendenti: una grid a 5 colonne può mostrare il numero di elementi configurato, non il limite globale del sito.
Presentazione frontend
Il parent espone:
3 / 2 / 1;La presentazione è ora separata in:
assets/css/search-results.cssper struttura e comportamento;assets/css/search-results-theme.cssper pannello, form, profondità card, accent dei tipi, compact list e paginazione.Gli asset frontend e Visual Builder usano versione plugin +
filemtime, così i deploy iterativi della stessa0.1.0non restano bloccati da cache browser o proxy.La precedente paginazione era composta da normali link WordPress. Il runtime applica progressive enhancement: recupera la pagina reale, individua la stessa istanza del modulo, sostituisce soltanto il suo output, aggiorna la URL, ripristina focus e scroll e torna alla navigazione classica in caso di errore.
Le stringhe frontend predefinite sono italiane (
Cerca, conteggio risultati, stato vuoto,Precedente,Successiva,Vedi risultato). I child già salvati con il vecchio valore predefinito esattoView resultvengono renderizzati comeVedi risultato; le CTA personalizzate non vengono alterate.Contratto architetturale
query_posts();Baseline già verificata
Prima dell'ultimo fix page-size/theme è stato eseguito localmente su macOS:
npm run check: OK;tsc --noEmit: OK;module.json: OK;npm run build: OK;modules-json/: OK;Webpack terminava con due sole deprecation warning della legacy JS API di
sass-loader; non erano errori. Le segnalazioni audit dei pacchettidivi-types*non devono essere corrette connpm audit fix --force.Il nuovo contratto query è stato inoltre verificato con uno smoke test PHP isolato: una query corrente con limite 3 viene derivata con limite 5, pagina 2, post type configurati e offset rimosso.
Toolchain, packaging e deploy
.npmrcapplicaengine-strict=trueelegacy-peer-deps=true;composer.lockepackage-lock.jsonsono inclusi;reset-installpreservapackage-lock.jsone usanpm ci;npm run checkvalida TypeScript, metadata JSON e runtime JavaScript frontend;.reference/è esclusa da Git;composer packagegenera archivio runtime, manifest e SHA-256;composer deploy:checkesegue packaging e verifiche senza SSH;composer deploysupporta WordPress host/Docker con backup e rollback;composer deploy:barbagiausa il Compose file assoluto/home/fgirolami/docker/barbagiamusei/compose.yamle risolve dinamicamente il servicewp_cron.Gate corrente
L'ultimo fix query/theme deve ora superare:
npm ci;npm run check;npm run build;composer check:syntax;composer deploy:barbagia:check;docker02;>980,768–980,<=767;La PR resta draft e non viene mergiata prima del collaudo e della supervisione del codice.