Cambiare logo in Wordpress con PHP

Mattepuffo's logo
Cambiare logo in Wordpress con PHP

Cambiare logo in Wordpress con PHP

Su un ecommerce che sto sviluppando in Wordopress ho la necessità di cambiare il logo che si trova nell'header a seconda della pagina in cui mi trovo.

Nello specifico devo andare a ricercare il brand o come comincia il codice del prodotto che sto visualizzando.

Tutto questo possiamo farlo con qualche riga di codice PHP.

Prima di tutti caricate i loghi, e prendete l'id HTML di riferimento del logo; questo perchè useremo anche il CSS per cambiarlo.

Poi dentro al functions.php del vostro tema, mi raccomando non quello generale, scrivete un codice come questo (adattandolo alle vostre esigenze):

function change_logo() {
	global $wp;
	$currentSlug = add_query_arg(array(), $wp->request);
	$imgLogo = '//www.sito.com/wp-content/uploads/2017/07/Untitled-6.png';
	$searchKate = strpos($currentSlug, 'brand/kate');
	$searchKateProduct = strpos($currentSlug, 'prodotto/k');
	$searchCompagnia = strpos($currentSlug, 'brand/compagnia');
	$searchCompagniaProduct = strpos($currentSlug, 'prodotto/c');
	
	if ($searchKate !== false || $searchKateProduct !== false) {
		$imgLogo = 'https://www.sito.com/wp-content/uploads/2020/12/logo_kate_l.png';
	} elseif ($searchCompagnia !== false || $searchCompagniaProduct !== false) {
		$imgLogo = 'https://www.sito.com/wp-content/uploads/2020/12/logo_compagnia_OLD.png';
	}
    ?>
        <style>
			#site-logo {
				content:url("<?php echo $imgLogo; ?>");
			}
        </style>
    <?php
}
add_action('wp_head', 'change_logo');

La nostra funzione la richiamiamo nell'head della pagina attraverso la action wp_head.

In pratica vado a prendere l'attuale slug della pagina, e con strpos controllo se contiene determinate parole.

In base alla sua risposta cambio il logo.

Infine imposto una regola CSS passandogli l'url del logo.

Enjoy!


Share this Post

Commentami!