Woocommerce spedizione gratuita: come rimuovere le classi di spedizione

Quando sviluppiamo uno store online con WordPress e Woocommerce, affinchè lo stesso sia produttivo bisogna spesso adottare una strategia di marketing aggressiva.

Tra queste, c’è sicuramente la spedizione gratuita quando nel carrello c’è un ordine minimo di almeno x Euro. Woocommerce , di base, consente questa specifica autonomia a chi gestisce la piattaforma. Tuttavia, nel carrello verranno comunque presentate le diverse opzioni di spedizione.

Ecco come nasconderle, modificando il file functions.php :

/**
 * Hide shipping rates when free shipping is available.
 * Updated to support WooCommerce 2.6 Shipping Zones.
 *
 * @param array $rates Array of rates found for the package.
 * @return array
 */
function my_hide_shipping_when_free_is_available( $rates ) {
	$free = array();
	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $rate_id ] = $rate;
			break;
		}
	}
	return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

 

 

Riferimento documentazione ufficiale

Hide other shipping methods when “Free Shipping” is available

Come rimuovere la parola “Category” dall’URL del tuo sito WordPress

Come sai WordPress ha una struttura di base per indicizzare e visualizzare i contenuti (post) per categoria.

Nel caso in cui il tuo sito web abbia una categoria chiamata “Turismo”, WordPress la visualizza secondo questo schema:

 

http://www.tuositoweb.it/category/turismo

Accedendo a questo collegamento, il CMS visualizza tutti i contenuti appartenenti alla categoria Turismo. Esistono tre metodi per eliminare la parola “category” dalla URL del tuo sito:

  1. Intervenire sul file functions.php
  2. Installare un plugin
  3. Intervento manuale da pannello di controllo

Come eliminare la parola “category” tramite il file functions.php

Per farlo è sufficiente inserire questo blocco di codice nel file functions.php del tuo sito WordPress:

 


function remove_category( $string, $type )
{
if ( $type != 'single' && $type == 'category' && ( strpos( $string, 'category' ) !== false ) )
{
$url_without_category = str_replace( "/category/", "/", $string );
return trailingslashit( $url_without_category );
}
return $string;
}

add_filter( 'user_trailingslashit', 'remove_category', 100, 2);

Come eliminare la parola “category” tramite il pannello di controllo

La prima attività importante da compiere è entrare nella pagina Impostazioni -> Permalinks (o Settings -> Permalinks nel caso in cui il pannello di controllo sia in lingua inglese).

Nella parte superiore puoi gestire come preferisci la formattazione delle url del tuo sito web WordPress. Nel nostro caso di esempio spunteremo la voce “custom structure” inserendo la seguente dicitura nel relativo campo:

/%category%/%postname%/

Nella parte inferiore, invece, puoi personalizzare proprio questo comportamento. Quindi, inserendo il “.”, otterrai l’effetto desiderato

 

 

 

Come personalizzare la email di benvenuto per i nuovi utenti registrati

Esistono due modi in WordPress per personalizzare la email di benvenuto che viene automaticamente inviata ai nuovi utenti registrati.

Il primo metodo consiste nello sfruttare le Pluggable Functions di WordPress; nel nostro caso ci serve sovrascrivere il comportamento di


wp_new_user_notification( int $user_id,

null $deprecated = null,

string $notify = '' )

Continue reading…

Woocommerce: come tradurre in WPML e YOAST SEO il titolo della pagina prodotti

Tempo fa con il team di sviluppo di Evermind, abbiamo sviluppato il portale web WordPress di un’azienda che lavora in ambito turistico.

Sul sito , realizzato custom, è presente Woocommerce per la gestione delle vendita dei prodotti, WPML per l’internazionalizzazione dei contenuti e YOAST SEO per personalizzare l’indicizzazione sui motori di ricerca. Durante lo sviluppo si è presentato il problema di come gestire il titolo della pagina shop di Woocommerce , essendo quest’ultimo gestito tramite YOAST SEO.

Continue reading…

WordPress: come visualizzare la didascalia dell’immagine in evidenza

Lavorando su un progetto per una struttura ricettiva , è sorta l’esigenza di visualizzare in overlay la didascalia dell’immagine in evidenza, contenuta in uno slider.

Navigando su google ho trovato questo post molto utile di Gabriele Romanato. Ecco quindi la funzione , da inserire nel file functions.php, per assolvere quest’esigenza funzionale Continue reading…

L’oscillazione della fiducia

Lavorando molto su progetti basati su WordPress, una delle problematiche, con le quali mi confronto quasi ogni giorno, risiede nei problemi di sicurezza di questa tipologia di CMS.

Se da un lato la semplicità di utilizzo e la flessibilità nell’estenderne le funzionalità di base porta 9 volte su 10 a sceglierlo quale base di partenza per realizzare progetti anche abbastanza articolati, d’altro canto uno dei limiti più evidenti è il dover costantemente affrontare gli attacchi che portano ad una non corretta fruibilità di questi sistemi. Continue reading…

Woocommerce: come calcolare il prezzo minimo per categoria

Da qualche mese, abbiamo pubblicato con Evermind un progetto per una giovane e dinamica azienda milanese: Rentopolis.

Basato su WordPress e Woocommerce, il portale consente la gestione e la promozione di appartamenti prenotabili direttamente online; ogni appartamento appartiene ad una precisa destinazione turistica.

Una delle specifiche di progetto è quella di creare dei macro blocchi, attualmente visibili in homepage, sui quali comparisse il prezzo minimo della destinazione che, nel caso in esame, è una categoria di Woocommerce. Continue reading…

WordPress WP_Post could not be converted to string in qtranslate_core 455

Ieri sera un cliente mi ha scritto segnalandomi un errore sul suo portale web:

PHP Catchable fatal error: Object of class WP_Post could not be converted to string in ../wp-content/plugins/qtranslate/qtranslate_core.php on line 455

 

Ecco di seguito la soluzione: aprite il file wp-content/plugins/qtranslate/qtranslate_core.php in un editor di testo (come notepad++), dopodichè andate alla riga 458 e modificate la funzione qtrans_dateFromPostForCurrentLanguage così: Continue reading…

WordPress Advanced Custom Fields: aggiornamento google map

Lavorando ad un progetto di una social community b2b in ambito food, mi son scontrato con questo problema

come posso aggiornare da codice il campo “google map” creato con il plugin-in wordpress Advanced Custom Fields (ACF) ?

Il plug-in ACF consente di aggiornare un campo con la seguente funzione:

update_field($field_key, $value, $post_id)

 

  • $field_key: obbligatorio – la chiave, o il nome, del campo da aggiornare;
  • $value: obbligatorio – il nuovo valore da salvare;
  • $post_id: opzionale – specifica l’ID del post (quindi anche custom post type) dove si vuole inserire/aggiornare il valore precedentemente evidenziato. Il valore di default è il $post->ID corrente 😀

 

Nel caso della mappa Google, invece, ACF ci fornisce un campo strutturato, composto da indirizzo, longitudine, latitudine. Quindi, per poter eseguire l’aggiornamento da codice dobbiamo prima costruirci un array di valori che segua la specifica struttura prevista da ACF, solo successivamente richiamare la funzione update_field .

Ecco di seguito la soluzione:

$value = array("address" => $indirizzo, "lat" => $lat, "lng" => $long, "zoom" => $zoom_value);

update_field("field_531df4b0471a3", $value, $postID);