Un utente ha chiesto informazioni su GeneratePress di Wordpress

Ricerca personalizzata di Google utilizzando l’opzione di ricerca del menu principale

Un utente ha chiesto 👇

Google non ha fornito una risposta che posso applicare / capire, quindi provalo qui.

Utilizzando la versione gratuita di GeneratePress. Sono riuscito a implementare la ricerca personalizzata di Google utilizzando un altro tema. Creando una pagina dei risultati contenente il codice:

E arformform.php modifica il tema in modo che contenga il codice seguente:

(funzione () {
var cx = “partner-pub-SOME_NUMBERS”;
var gcse = document.createElement (‘script’);
gcse.type = ‘text / javascript’;
gcse.async = true;
gcse.src = ‘https://cse.google.com/cse.js?cx= ‘; + cx;
var s = document.getElementsByTagName (‘script’)[0];
s.parentNode.insertBefore (gcse, s);
}) ();

C’è un modo per ottenere questo risultato nella versione gratuita di GeneratePress?

La mia conoscenza di php e CSS è molto limitata per non dire altro. Quindi avrei bisogno di una spiegazione “idiota” – cosa includere e dove esattamente.

La seconda domanda, se questo non funziona nella versione gratuita, funziona nella versione “pro”, poiché quella funzione è importante per me.

Grazie in anticipo per qualsiasi aiuto o suggerimenti.

Autore del tema

(@ edge22)

2 anni, 5 mesi fa

Ciao,

sì searchform.php un file che puoi copiare e aggiungere al tema di tuo figlio, quindi apportare le modifiche.

Vuoi integrare questo nella nostra opzione di navigazione di ricerca?

Da dove viene la pagina dei risultati? È una pagina personalizzata che devi creare?

Ci sono delle guide che potrei cercare da qualche parte?

Lanciatore di thread

(@relja)

2 anni, 5 mesi fa

Prima di tutto grazie per il tuo tempo e aiuto. È un dato di fatto, se il GeneratePress funziona bene (abbastanza veloce finora), ho intenzione di ottenere la versione “pro”.

Digestione:
I temi per bambini sono al di là della mia comprensione ora: capisco che sia il modo giusto per modificare i temi, ma negli ultimi tre anni, la quantità minima di modifiche che ho fatto è stata copiando i file originali (e aggiungendo il file. orig con), quindi modificali e mantieni in esecuzione le copie organizzate. Mantieni un elenco dei pochi file modificati (e la struttura delle directory).

Aggiungi commenti alle mie modifiche, così quando un tema viene aggiornato, posso facilmente ripetere le edizioni necessarie.

Se un tema figlio è essenziale, ho dovuto dedicare alcuni giorni a impararlo – non è una “pausa del rivenditore”, solo qualcosa che voglio comunque evitare, a meno che non sia molto più difficile fare a meno di un tema figlio.

Google Ricerca Personalizzata:
Ho impostato un motore di ricerca personalizzato con Google, utilizzando istruzioni molto simili (non sono sicuro del link sull’uso che ho usato all’inizio, non aveva molto senso scriverlo):
https://www.wpbeginner.com/wp-tutorials/how-to-add-google-search-in-a-wordpress-site/

La sezione “Metodo 2: disabilita la ricerca con Google in WordPress” riassume come l’ho applicato, ma nel tema che stavo usando, ha funzionato anche per il pulsante di ricerca del menu principale.

In breve, ho creato una pagina chiamata SearchResults, che aveva il testo: “Risultati di ricerca:” e poi, nella modalità di modifica “testo” della pagina (non il WYSIWYG) ho copiato / incollato il codice fornito da Google:

Quindi ho copiato il codice del form di ricerca in searchform.php, in modo che contenga tutto il codice che si trova in searchform.php:

(funzione () {
var cx = “partner-pub-SOME_NUMBERS”;
var gcse = document.createElement (‘script’);
gcse.type = ‘text / javascript’;
gcse.async = true;
gcse.src = ‘https://cse.google.com/cse.js?cx=’ + cx;
var s = document.getElementsByTagName (‘script’)[0];
s.parentNode.insertBefore (gcse, s);
}) ();

È così che funziona la ricerca della versione inglese del sito (tema diverso, installazione separata di WordPress nel sottodominio: bike.bikegremlin.com), ma non funzionerà allo stesso modo nella versione serbo-croata del sito, utilizzando GeneratePress (bikegremlin .com). L’idea è di far funzionare tutto, quindi passare a GeneratePress “completamente”.

Lanciatore di thread

(@relja)

2 anni, 5 mesi fa

Lo ha messo al lavoro, se c’è una soluzione migliore, fammelo sapere. È qui che un problema non esiste e nessun altro ha un problema simile.

Per una divulgazione completa: NON ho un’IDEA su come funziona WordPress. I metodi per fare questo lavoro erano esplorare le pagine e fare clic sulle icone pertinenti della versione del sito GeneratePress e un tema diverso faceva funzionare le icone, confrontando, individuando i nomi e le cose utilizzate, con l’aiuto di un amico che non ne ha idea WordPress, ma ha un po ‘di esperienza con php e CSS. Mi ci sono volute alcune ore perché funzionasse, e Sono tutt’altro che convinto che sia la soluzione migliore, più rapida ed elegante.

1) La prima cosa da notare
Da quello che ho scoperto, GeneratePress non utilizza searchform.php per la ricerca del pulsante di ricerca nel menu principale (il test finale di questo è stato rimuovere completamente il searchform.php, assicurandosi di evitare di memorizzare nella cache qualsiasi pagina e quindi vedere che funzionava ancora la funzione perfettamente).

2) Trova la posizione della ricerca “definita”.
Si scopre che questa directory ha il set di ricerca del menu principale (all’interno della directory del tema, ovviamente):
genepress / inc / structure / navigation.php

3) Modifica il file navigation.php

if (! function_exists (‘gene_navigation_search’)) {
add_action (‘gene_inside_navigation’, ‘gene_navigation_search’);
/ **
* Aggiungi la barra di ricerca alla navigazione.
*
* @ dal 1.1.4
* /
funzione gene_navigation_search () {
$ gene_settings = wp_parse_args (
get_option (‘gene_settings’, edit ()),
gene_get_defaults ()
);

if (‘enable’! == $ gene_settings[‘nav_search’] ) {
ritorno;
}

// MODIFICHE ALLA RICERCA PERSONALIZZATA
// CUID SNIPPED
/ * echo apply_filters (‘gene_navigation_search_output’, sprintf (// WPCS: XSS ok, sanitation ok.

‘,
esc_url (home_url (‘/’)),
esc_attr (get_search_query ()),
esc_attr_x (‘Cerca’, ‘etichetta’, ‘genepress’)
));
* /
// FINE PARTE SNIPPATA РNON POSSO, DEVO VIAGGIARE IN COMMISSIONE, HO PI̪ CHIARO
// RICERCA AGGIUNTIVA PERSONALIZZATA
// “MOJ” RICORDA IL MIO IN SERBO, QUINDI “mojs”

$ mojs = “

(funzione () {
// CODICE SERVIZIO COPIA INCOLLATA GOOGLE INCOLLATA
var cx = “partner-pub-MY_GOOGLE_NUMBER: MORE_GOOGLE_NUMBERS”;
var gcse = document.createElement (‘script’);
gcse.type = ‘text / javascript’;
gcse.async = true;
gcse.src = ‘https://cse.google.com/cse.js?cx= ‘; + cx;
var s = document.getElementsByTagName (‘script’)[0];
s.parentNode.insertBefore (gcse, s);
}) ();

“;
// FINE DEL CODICE FORNITO DA GOOGLE INCOLLATO

echo apply_filters (‘gene_navigation_search_output’, sprintf (// WPCS: XSS ok, sanitation ok.

‘,
esc_url (home_url (‘/’)),
esc_attr (get_search_query ()),
esc_attr_x (‘Cerca’, ‘label’, ‘genepress’),
$ mojs
));

// FINE AGGIUNTIVA DELLA RICERCA PERSONALIZZATA

}
}

4) Sembra che non sia poi così male su desktop e telefoni cellulari:
A questo scopo sono stati aggiunti alcuni SEC aggiuntivi. Senza il pad, il pulsante di ricerca di Google si sovrapporrebbe al pulsante hteme per chiudere la ricerca. Questo è stato il più devoto che potevo farlo.
Avresti sempre la possibilità di avere il pulsante Google Shark in basso, ma senza spostarlo leggermente a destra, gli schermi più piccoli sembrano cattivi / si sovrappongono per qualche motivo. Ci giocherà ancora un po ‘.

#___ gcse_0 {
bordo superiore: 60 px;
colore di sfondo: # 222;
}

.gsc-search-button {
/ * tastierino sinistro: 0px; * /
/ * altezza: 60px; * /
/ * larghezza: 60px; * /
padding-right: 60px;
}
.gsc-input {
/ * tastierino destro: 0px! importante; * /
}

5) Potenziali problemi:
Se Google cambia il codice, questa applicazione non funzionerà. Quindi se gsc-search-button (Google Search Custom?) Ottiene un altro nome, la soluzione non funzionerà.

Questa risposta è stata modificata 2 anni, 5 mesi fa. Autore del tema

(@ edge22)

2 anni, 5 mesi fa

Ciao,

Sono contento che funzioni!

Invece di modificare quel file core, puoi farlo:

add_filter( 'generate_navigation_search_output', function() {
    $mojs = 'your Google provided code here';

    return sprintf(
        '<form method="get" class="search-form navigation-search" action="%1$s">
            <input type="search" style="display:none" class="search-field" value="%2$s" name="s" title="%3$s" />
            %4$s
        </form>',
        esc_url( home_url( '/' ) ),
        esc_attr( get_search_query() ),
        esc_attr_x( 'Search', 'label', 'generatepress' ),
        $mojs
    );
} );

Questo può essere integrato utilizzando uno dei seguenti metodi: https://docs.generatepress.com/article/adding-php/

Lanciatore di thread

(@relja)

2 anni, 5 mesi fa

Grazie mille.
Ho preso una nota mentale – ora scritta 🙂 per aggiungere “eccellente supporto” durante la revisione del tema.

Autore del tema

(@ edge22)

2 anni, 5 mesi fa

Grazie! Fammi sapere se hai bisogno di qualcos’altro 🙂

Lanciatore di thread

(@relja)

2 anni, 5 mesi fa

Tutto quello che devi fare è dare un feedback e nel caso sia utile a qualcun altro:

Il tuo codice funziona bene. Alla fine ho testato e implementato il modo del tema figlio. È più elegante – per i CSS personalizzati, per questa funzione, così come per alcune altre funzioni che ho precedentemente implementato con la modifica di header.php ecc.

Il mio primo ostacolo è stato risolto, quale codice includere nel function.php del bambino con l’offerta GeneratePress già completata Tema figlio GeneratePress (modello).

Questo ha risolto il dilemma “devo includere style.css, o rtl.css, o entrambi …”.

Ci sono voluti alcuni tentativi ed errori, cercando su Google, ma vale la pena bloccare il tema del bambino, grazie per aver indicato quella direzione.

Posso anche dire che i risultati dei test “preliminari” (una settimana finora) per GeneratePress mostrano tempi di caricamento della pagina in media di circa 1 secondo più veloci (3 contro 4, su un server di hosting condiviso molto lento) – la stessa posizione, simile al numero di visite. Scriverà una “recensione completa” sul tema (+ stelle) dopo altre poche settimane di test.

Grazie ancora – ottimo supporto e ben fatto. 🙂

Autore del tema

(@ edge22)

2 anni, 5 mesi fa

Vi ringrazio molto! È una cosa fantastica da sentire 🙂

Il feedback è molto apprezzato!

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *