Diego Betto
Risposte nei forum create
-
Forum: Funzionalità = Plugin
In risposta a: calendario eventi… dagli articoliSalve,
ce ne sono vari ed ognuno ha le sue peculiarità e caratteristiche anche grafiche. L’unica è cercare nel repository delle plugin ( https://it.wordpress.org/plugins/ ) ad esempio le parole “calendar widget” e dare un occhio agli screenshot per capire sia se ha l’aspetto e le dinamiche che desideriamo, sia se è personalizzabile come necessitiamo, capire che punteggio e supporto hanno (dinamica spesso da tenere bene presente), ecc.
L’unica è cercare e provarli direttamente sul sito (o su eventuale copia di sviluppo) in modo da rendersi conto con i contenuti presenti come si comportano.
Saluti,
DiegoForum: Funzionalità = Plugin
In risposta a: Lavorare in localhost limita le funzionalità di WooCommerce?Salve,
l’invio delle email avviene attraverso i server SMTP, mentre la ricezione avviene tramite i server solitamente IMAP e i datati POP3.
Se hai delle caselle di posta dove già ricevi correttamente la posta e stai usando queste probabilmente ti manca la parte di invio quindi il server SMTP (che potresti utilizzare sia esterno se ne hai uno oppure uno ad hoc come di seguito).Se così fosse ci sono varie alternative.
- installare un server SMTP in locale, cerca su google “install smtp” e aggiungi il tuo sistema operativo, ad esempio “install smpt windows 10” oppure dato che usi XAMPP seguire le istruzioni che trovi in giro ( http://stackoverflow.com/questions/15965376/how-to-configure-xampp-to-send-mail-from-localhost )
- installare un finto SMTP che ti permetta, anche senza tutto il giro, di vedere quali sarebbero le email che vengono inviate (ce ne sono vari come il semplice fakeSMTP oppure MailHog che però è già più complicato se sei alle prime armi).
- usare plugin di monitoraggio di wordpress. In questo caso solitamente il messaggio è salvato in database e ti permette da backend di visualizzarlo. Attenzione, verifica che la plugin salvi il messaggio anche se non hai un server SMTP (ovvero, installa, prova. Se trovi la mail è tutto ok). Cerca nelle plugin di wordpress “mail log” o simili, troverai parecchie cose interessanti.
Saluti,
DiegoForum: Varie ed eventuali
In risposta a: Piattaforme di backup centralizzareSalve,
l’ho utilizzato spesso e mi ci sono sempre trovato bene. Sia per monitorare gli aggiornamenti di plugin e temi sia per effettuare backup ed operazioni di manutenzione.
Altrimenti devi ricadere su combinazioni di plugin per il backup (ce ne sono parecchie in base alle esigenze) + aggiornamenti automatici che ormai sono presenti in WordPress.
Saluti,
DiegoForum: Fixing WordPress
In risposta a: Collegare un DB esterno a wordpressDove vuoi, questo dipende da te.
Se ti serve in functions.php puoi usarla li (solitamente se hai bisogno di reperire dati che servono a livello globale nel tuo tema o che sono necessari per attivare particolari dinamiche a monte).
Se invece è solo per una parte di rendering su una particolare vista puoi tranquillamente utilizzarlo in quel particolare file/template.Saluti,
DiegoForum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercaCiao,
1. l’articolo appare perché la ricerca si basa sui contenuti e per WordPress in quel post c’è la parola cibo, quindi verifica se puoi modificare la regex. In questo caso potrebbe essere valido sostituire la funzione di evidenziatore con
jQuery.fn.highlight = function(what,spanClass) { return this.each(function(){ var container = this, content = container.innerHTML, pattern = new RegExp('(' + what + ')','ig'), replaceWith = '<span ' + ( spanClass ? 'class="' + spanClass + '"' : '' ) + '">$1</span>', highlighted = content.replace(pattern,replaceWith); container.innerHTML = highlighted; }); }2. lavorando di javascript puoi dire che invece che cercare in tutto il body cerchi ed evidenzi solo dentro un particolare elemento come #main cambiando da
jQuery('body').highlight(fromsearch,'highlight');
a
jQuery('#main').highlight(fromsearch,'highlight');Ti consiglio di prendere mano un po’ con la documentazione di javascript relativamente alla funzione RegExp ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions ) e con le regex in generale ( ad esempio provando qua http://regexr.com ).
Saluti,
DiegoForum: Fixing WordPress
In risposta a: Collegare un DB esterno a wordpressCiao Fabio,
ti assicuro che basta scrivere una volta sola la domanda, riempire il thread di bump e ripetizioni non aiuta, anzi.
Se vedi il codice la query che vuoi sia eseguita va messa alla riga (testo in grassetto)
$rows = $altrodb->get_results(“select nome from altra_tabella“);PhpMyAdmin o altri tool non centrano se devi fare una query nel tuo template o plugin di WordPress. Si utilizza php e le funzioni sopra indicate.
Saluti,
DiegoForum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercaOk, già qualcosa. Prova a dire a WordPress che la variabile è tra quelle riconosciute. Aggiungi in functions.php
add_filter('query_vars', 'my_register_query_vars' ); function my_register_query_vars( $qvars ){ $qvars[] = 'fromsearch'; return $qvars; }e ritenta con $_REQUEST, $_GET o $_POST
Forum: Fixing WordPress
In risposta a: Modificare filtro plugin wp-membersQuesto dipende dal resto della plugin (se usa hook/filtri/azioni oppure se la usi direttamente e quindi puoi estendere la classe di base della plugin, ecc) ma il discorso potrebbe complicarsi e richiedere che tu faccia un po’ di modifiche “orientate agli oggetti”.
Usando i .po/.mo se la modifica è “per la parte destra” di quanto hai incollato (ovvero “__( ‘Existing Users Log In’, ‘wp-members’ )”) dovresti risolvere, altrimenti devi prendere in considerazione come opera la parte di codice prima e dopo quella parte.
Saluti,
DiegoForum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercaHai un problema con $_REQUEST, potrebbe essere per l’ordine GET/POST
Infatti se vedi il codice generato è
jQuery(document).ready(function(){ var search = ''; /* inizio modifiche */ var fromsearch = ''; // è vuotoCon
'<?php echo $_REQUEST['fromsearch']; ?>'dovresti prendere il valore che nell’indirizzo ha l’attributo fromsearch, ma in questo caso per qualche motivo è vuoto.
Prova cambiare $_REQUEST con $_GET o con $_POST. Altrimenti prova forzare la cosa mettendo
var fromsearch = 'natura';e vedere se funziona nelle pagine articolo che contengono la parola “natura”.
Se così va ma con $_REQUEST e $_GET o $_POST no, indaga lato server.Saluti,
DiegoForum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercaSe intendi all’interno della pagina dell’articolo, dopo che hai cliccato dalla pagina di ricerca, direi che si è corretto. La tua domanda infatti è “Evidenziare parola trovata con la ricerca”.
Quello che invece chiedi ora è la ricerca resti permanente anche dopo che hai cliccato dalla pagina dei risultati. Per fare questo devi istruire WordPress che i link che partono da quella pagina devono comunque avere evidenziata quella parola.
Per fare questo devi fare in modo che i link dalla pagina di ricerca abbiano un nuovo parametro che ci permette poi di capire cosa hai cercato.
Ovvero modifica
jQuery(document).ready(function(){ var search = '<?php echo get_search_query(); ?>'; // se c'è, evidenzia if(search !== null){ jQuery('body').highlight(search,'highlight'); } });con
jQuery(document).ready(function(){ var search = '<?php echo get_search_query(); ?>'; /* inizio modifiche */ var fromsearch = '<?php echo $_REQUEST['fromsearch']; ?>'; if(search !== null && search !== ''){ jQuery('body').highlight(search,'highlight'); jQuery('#main article a').each(function(i,e){ var newUrl = jQuery(e).prop('href') + '?fromsearch=' + encodeURIComponent(search); this.href = newUrl; }); } if(fromsearch !== null && fromsearch !== ''){ jQuery('body').highlight(fromsearch,'highlight'); } /* fine modifiche */ });- Questa risposta è stata modificata 9 anni, 1 mese fa da Diego Betto.
- Questa risposta è stata modificata 9 anni, 1 mese fa da Diego Betto.
Forum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercadato che usi quella con php devi verificare anche che la stringa di ricerca non sia vuota quindi modifica l’if così
if(search !== null && search !== ''){Forum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercaÈ javascript quindi non va messo direttamente in functions.php dove solitamente ci devi mettere php.
Più appropriato è dentro un tag <script></script> ad esempio in footer.php o in ogni caso prima della chiusura di </body> e dopo
wp_footer();in modo da essere sicuri che jQuery sia stato caricato.....altro codice esistente... wp_footer(); ....altro codice esistente... ?> <script> ...codice visto assieme... </script> </body> </html>Forum: Fixing WordPress
In risposta a: Modificare filtro plugin wp-membersSalve,
di base devi modificare la stringa ‘Existing Users Log In’. Considera che in quella riga non fai altro che dire: all’attributo ‘login_heading’ assegna la traduzione ( tramite __() ) della stringa ‘Existing Users Log In’ andandola a pescare dal dominio (leggi “dalle traduzioni”) di “wp-members”.
Ora, tieni presente che le funzioni di traduzione fanno riferimento ai file .po/.mo che sono presenti nella tua installazione. In questo esempio fanno riferimento a ‘wp-members’ che presumo sia la plugin che stai utilizzando e che probabilmente da qualche parte ha dei file .po/.mo.
Se vuoi modificare questa traduzione quindi dovresti prendere i file .po/.pot della plugin, con un editor tipo Poedit, modificare la stringa di interesse (‘Existing Users Log In’ in questo caso) e poi salvare il nuovo .mo.
Dai un occhio alla sezione traduzione di WordPress dove spiegano sia funzioni che strumenti
https://developer.wordpress.org/themes/functionality/localization/Altrimenti usa una plugin come WPML o simili che hanno la parte di traduzione stringhe, ad esempio
https://wpml.org/it/documentazione/guida-introduttiva/string-translation/Saluti,
Diego- Questa risposta è stata modificata 9 anni, 1 mese fa da Diego Betto. Motivo: typo
Salve,
da quanto ne so Google più che la sigla di paese nella url tiene conto del contenuto e dei tag di lingua interni alla sezione HEAD e nei vari link e a questo da più punteggio. Quindi direi che è praticamente ininfluente la forma che vuoi utilizzare. Indubbiamente l’uso di 2 caratteri è più semplice e tiene le url pulite e brevi.
Nello specifico nell’HEAD puoi specificare la lingua sia della pagina corrente sia di eventuali corrispondenti in altre lingue (alcune plugin di traduzione già lo fanno) con
<link rel="alternate" href="example.com" hreflang="es-es" /> <link rel="alternate" href="example.com/de/" hreflang="de-de" /> <link rel="alternate" href="example.com/pt/" hreflang="pt-pt" />Mentre per i link puoi usare la seguente semantica
<span title="Spanish"><a lang="es" href="example.com/es">Español</a></span>Dai un occhio a questi link
https://www.w3.org/International/questions/qa-html-language-declarations
https://support.google.com/webmasters/answer/189077?hl=enSaluti,
DiegoForum: Fixing WordPress
In risposta a: Evidenziare parola trovata con la ricercaSalve,
una soluzione è usando javascript (jQuery)
// funzione che evidenzia // what è cosa cerchiamo, stringa // spanClass è la classe che avrà lo span attorno alla parola cercata, per dare lo stile, tipo // .highlight { // background-color:yellow; // } jQuery.fn.highlight = function(what,spanClass) { return this.each(function(){ var container = this, content = container.innerHTML, pattern = new RegExp('(>[^<.]*)(' + what + ')([^<.]*)','ig'), replaceWith = '$1<span ' + ( spanClass ? 'class="' + spanClass + '"' : '' ) + '">$2</span>$3', highlighted = content.replace(pattern,replaceWith); container.innerHTML = highlighted; }); } // funzione che pesca il parametro "s" dalla url var getUrlParameter = function getUrlParameter(sParam) { var sPageURL = decodeURIComponent(window.location.search.substring(1)), sURLVariables = sPageURL.split('&'), sParameterName, i; for (i = 0; i < sURLVariables.length; i++) { sParameterName = sURLVariables[i].split('='); if (sParameterName[0] === sParam) { return sParameterName[1] === undefined ? true : sParameterName[1]; } } }; // quando il DOM è pronto cerchiamo la parola dentro "body" ed evidenziamo jQuery(document).ready(function(){ var search = getUrlParameter('s'); // se c'è, evidenzia if(search !== null){ jQuery('body').highlight(search,'highlight'); } });In base al tuo caso puoi sostituire
var search = getUrlParameter('s');con
var search = '<?php echo get_search_query(); ?>';per utilizzare le funzioni di WordPress e non pescare dal parametro nella URL (ad esempio se usi i permalink o strutture custom delle URL).
Demo
https://jsfiddle.net/ex3ntia/nb2dyaeL/Saluti,
Diego- Questa risposta è stata modificata 9 anni, 1 mese fa da Diego Betto. Motivo: typo