Categorie
Temi

Come recuperare l’URI del folder di un Tema WordPress

Nell’articolo a proposito dei Temi figli ho pubblicato lo snippet di codice relativo al functions.php.
Questo file è fondamentale per il funzionamento dei Temi.

In particolare ho usato la funzione get_template_directory_uri.

A che serve la funzione get_template_directory_uri?

La funzione restituisce una stringa contente l’URI della cartella del Tema;

<?php

echo get_template_directory_uri();

Se eseguite il file come template di pagina, restituisce la rotta necessaria per raggiungere la cartella padre se siamo in presenza di un tema figlio.

// risultato del precedente snippet
https://piaccapi.it/wp-content/themes/twentynineteen

Bisogna notare che non è presente il trailing slash.

E per recuperare l’URI del folder del tema figlio?

Esiste la funzione equivalente alla precedente ed è get_stylesheet_directory_uri.

Questa funzione restituisce sempre l’URI del Tema correntemente attivo. Sia esso un Tema Figlio o un Tema Padre.

Se sostituissimo nel codice precedente la funzione appena elencata otterremmo il seguente risultato:

// risultato del precedente snippet
https://piaccapi.it/wp-content/themes/twentynineteen-child

A cosa servono queste funzioni?

Le precedenti funzioni sono molto utili se dovete aggiungere ad una pagina un file CSS o JavaScript. Come nel seguente snippet:

<?php
/**
 * Functions for child theme.
 *
 * @package twentynineteen-child
 */

add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' );
/**
 * Enqueue the parent theme style.css
 */
function enqueue_parent_theme_style() {
	$theme = wp_get_theme();
	wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array(), $theme->get( 'Version' ) );
}

Nel precedente snippet vedete un esempio d’uso della funzione. in particolare stiamo includendo il lo style.css del tema padre in un tema figlio, questa operazione non avviene in automatico alla creazione del tema figlio.

Come posso usarle?

Ad esempio se avete un flusso di lavoro che prevede l’uso di due diversi ambienti, sviluppo e produzione, potrete spostare il codice del sito senza dovere andare ogni volta a modificare i percorsi nei vari file che comporranno il vostro Tema, sia esso un Child Theme o un Parent Theme.

Su questo sito Web utilizziamo strumenti proprietari o di terze parti che memorizzano piccoli file ( cookie ) sul tuo dispositivo. I cookie vengono normalmente utilizzati per consentire al sito di funzionare correttamente ( cookie tecnici ), per generare report sull’utilizzo della navigazione ( cookie statistici ) e per pubblicizzare adeguatamente i nostri servizi / prodotti ( cookie di profilazione ). Possiamo utilizzare direttamente i cookie tecnici, ma hai il diritto di scegliere se abilitare o meno i cookie statistici e di profilazione . Abilitando questi cookie, ci aiuti a offrirti un’esperienza migliore .