Come includere icone SVG sprites nel tag body?
Voglio includere un file di icone SVG dopo il tag body e sto usando questo codice:
<?php include_once("assets/img/sprites.svg"); ?>
Ma ottengo questo errore:
Parse error: syntax error, unexpected T_STRING in /home/ostadba1/public_html/wp-content/themes/ostad/assets/img/sprites.svg on line 1
Lo scopo di questo è che voglio usare quelle icone con una sola riga di codice:
<svg class="icon"><use xlink:href="#shopping-cart"></use></svg>
Come posso caricare correttamente un file SVG in WordPress?

È perché non è così che dovresti includere un SVG in PHP,
include_once
viene utilizzato per includere file PHP.
La ragione dietro questo errore:
PHP Parse error: syntax error, unexpected version (T_STRING)
è che PHP non è stato in grado di analizzare l'inizio del file SVG nel punto in cui era definita la versione XML:
<?xml version="1.0" encoding="utf-8"?>
Soluzione 1: Per risolvere questo problema, rimuovi completamente il tag di intestazione XML dal tuo file SVG.
Soluzione 2: Segui questi tutorial. (Consigliato)
- Il flusso di lavoro perfetto per SVG inline in WordPress
- Utilizzo di sprite SVG inline nei temi WordPress
Questo è un modo molto migliore per includere SVG nei tuoi temi.
Entrambi spiegano lo stesso concetto.
Questi tutorial ti aiuteranno a capire come includere un SVG in PHP in WordPress.
Ora, come includerli dopo il tag body?
Questo richiede che tu utilizzi questi tutorial nei file del tuo tema dove appropriato.
Ad esempio, se il tuo tema apre il tag body in index.php
, dovrai modificare index.php
e includere gli SVG lì.
Soluzione 3:
<?php echo file_get_contents("filename.svg"); ?>
Puoi semplicemente visualizzare il contenuto del tuo file SVG dove vuoi nella sezione HTML del tuo file PHP.
Tuttavia, modificare i file del tema richiede una certa conoscenza di PHP e WordPress.

Il comando include_once()
viene utilizzato per includere file php. SVG è semplicemente un file immagine, dovrebbe essere trattato come si tratta un file immagine (nella maggior parte dei casi).
Nel tuo caso, se vuoi usarlo come font, dovresti includerlo nel tuo file CSS, utilizzando:
@font-face{
font-family:my-font;
url('IL TUO URL SVG QUI') format('svg');}
Poi puoi usare i codici del font definito per richiamare diverse parti dello sprite. Ci sono molte guide su come usare SVG come font.
Un'altra opzione sarebbe usare i tag <img>
, come ha suggerito Brian nei commenti.
Puoi anche usare SVG come immagini di sfondo, nello stesso modo in cui usi un file jpg
come proprietà background-image
in CSS.
