Come aggiungere la versione di style.css
WordPress come sotto posso fare in Joomla.
<link rel="stylesheet" href="/templates/example/css/style.css?v=1.2">
so che style.css
caricherà dinamicamente. per favore aiutami a come farlo.
Come aggiungere la versione di style.css
WordPress come sotto posso fare in Joomla.
<link rel="stylesheet" href="/templates/example/css/style.css?v=1.2">
so che style.css
caricherà dinamicamente. per favore aiutami a come farlo.
Risposte:
Il numero di versione è un parametro di wp_enqueue_style()
.
Secondo il Codice, qui ci sono tutti i parametri che wp_enqueue_style
accetta.
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
Quindi, ad esempio, per caricare un foglio di stile con un numero di versione devi fare quanto segue:
function wpa_90820() {
wp_enqueue_style('my-styles', get_stylesheet_directory_uri() .'/my-styles.css', array(), '1.0' );
}
add_action('wp_enqueue_scripts', 'wpa_90820');
wp_enqueue_style
fare i compiti.
wp_enqueue_style()
per caricare il foglio di stile in questione, allora handle è il primo parametro. Se il tuo tema sta codificando il foglio di stile in header.php, non avrà un handle.
Invece di cablare la versione, potresti trovare meglio in alcuni casi la versione dinamica del tuo foglio di stile, quindi ogni volta che lo cambi, cambia automaticamente e aggiorna immediatamente la cache del browser senza dover modificare le tue funzioni.php più e più volte.
È possibile utilizzare filemtime () per farlo. Ecco come farlo in uno stile figlio che fa riferimento a parent_style
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), filemtime( get_stylesheet_directory() . '/style.css' ) );
Se sei uno sviluppatore di temi, potresti voler forzare il ricaricamento delle tue risorse quando invii una nuova versione.
Quindi il versioning di un tema è fatto in style.css
/*
Theme Name: Your Theme Name
Version: 1.0.2
*/
Nella parte superiore del tuo functions.php
:
$theme = wp_get_theme();
define('THEME_VERSION', $theme->Version); //gets version written in your style.css
Successivamente, quando accoderai CSS o JS, usa THEME_VERSION
come quarto argomento:
function theme_styles()
{
wp_enqueue_style('main', get_template_directory_uri().'/css/main.css', [], THEME_VERSION, 'all');
}
add_action('wp_enqueue_scripts', 'theme_styles');
Verrà emesso sulla pagina:
.../your-theme-name/css/main.css?ver=1.0.2
È utile quando hai più risorse di cui occuparti e non vuoi cambiarle manualmente.
È possibile ottenere ciò utilizzando uno dei seguenti modi:
1) Aggiungi il seguente tag nel file header.php del tema.
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>'?v=1.2" type="text/css" media="all" />
2) Aggiungi il seguente codice nel file Functions.php del tema.
function theme_styles()
{
// Register the style like this for a theme:
// (First the unique name for the style (custom-style) then the src,
// then dependencies and ver no. and media type)
wp_enqueue_style( 'style-css', get_template_directory_uri() . '/style.css', array(), '1.2', 'all' );
}
add_action('wp_enqueue_scripts', 'theme_styles');
Per maggiori informazioni vedi questa pagina.
il modo migliore per caricare css nel tuo tema wordpress è il seguente codice nel tuo file Functions.php:
function theme_styles()
{
global $ver_num; // define global variable for the version number
$ver_num = mt_rand() // on each call/load of the style the $ver_num will get different value
wp_enqueue_style( 'style-css', get_template_directory_uri() . '/style.css', array(), $ver_num, 'all' );
}
add_action('wp_enqueue_scripts', 'theme_styles');
Questo è il modo giusto per caricare gli stili nel tuo tema ed è anche il migliore per scopi di stadiazione / test perché ogni aggiornamento fornirà la versione aggiornata dello stile.
Se vuoi evitare il caricamento in 1 ° modo, puoi usare questa versione abbreviata e inserire la seguente riga nel tuo file header.php e otterrai lo stesso risultato:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); echo '?ver=' . filemtime( get_stylesheet_directory() . '/style.css'); ?>" type="text/css" media="screen, projection" />
Saluti
Prova questo:
Aggiungi questo a Functions.php
function autoVer($filename){
$url = get_template_directory_uri() . $filename;
$file = get_template_directory() . $filename;
if ( file_exists($file)) {
return $url . '?v=' .md5(date("FLdHis", filectime($file)) . filesize($file));
}
clearstatcache();
}
Aggiungi questo all'intestazione o piè di pagina -> autoVer ('/ js / main.js');
Contrariamente ai metodi presentati finora, credo che sia meglio usare il numero di versione che appare nella parte superiore del tuo file style.css:
// style.css
/**
Theme Name: My theme
...
Version: 1.2.3
...
**/
Per usare la versione del tema nel tuo CSS, aggiungi quanto segue al tuo script Functions.php (o equivalente):
<?php
wp_enqueue_style(
'my-theme',
get_stylesheet_directory_uri() . '/style.css',
[],
wp_get_theme()->get('Version')
);
Ciò significa che, dopo aver modificato il tuo file style.css, tutto ciò che devi fare è cambiare il numero di versione nella parte superiore dello stesso file per vedere le modifiche nel frontend.
Se esamini la sezione head dell'HTML del tema vedrai quanto segue:
<link rel='stylesheet'
id='my-theme-css'
href='... style.css?ver=1.2.3'
type='text/css'
media='all'
/>
Questo è un modo piuttosto semplice per ottenere il numero di versione chiamando la funzione bloginfo($show)
due volte. Innanzitutto per il foglio di stile e in secondo luogo per il numero di versione.
<link rel="stylesheet" id="style-css" href="<?php bloginfo('stylesheet_url'); ?>?ver=<?php bloginfo('version'); ?>" type="text/css" media="all" />
Questo è tutto quello che c'è da fare. Spero che aiuti o sia utile. Puoi esaminare tutti i parametri disponibili e vedere cosa puoi emettere con la bloginfo()
funzione.
Ignora il mio commento poiché @Ravs ha segnalato il mio errore relativo al parametro 'version' per la funzione bloginfo (). In effetti stampa il numero di versione di Wordpress.