Como alterar a versão do .css no WordPress?

8

Como o título sugere, não sei muito bem como alterar a versão de um arquivo .css no meu tema. No momento, o versionamento de .css é assim:

<link rel='stylesheet' id='xxxx'  href='https://www. site css/ styles.css?ver=4.6.1' type='text/css' media='all' />

Existe um script que eu preciso executar - onde eu deveria estar olhando para fazer a versão 4.6.2 conforme acima?

    
por henry 29.11.2016 / 03:45

4 respostas

13

O quarto argumento, $ver para wp_enqueue_style() , permite que você defina a versão:

wp_enqueue_style( string $handle,
                  string $src = false,
                  array $deps = array(),
                  string|bool|null $ver = false,
                  string $media = 'all' );

De acordo com os documentos:

  

$ ver (string | bool | null) (Opcional) Cadeia de caracteres que especifica o número de versão da folha de estilo, se houver, que é adicionado à URL como uma consulta   string para fins de impedimento de cache. Se a versão estiver definida como falsa,   número de versão é adicionado automaticamente igual ao atual instalado   Versão do WordPress. Se definido como null, nenhuma versão será adicionada. Valor padrão:    false

    
por Dave Romsey 29.11.2016 / 03:53
6

Principalmente o tema usa wp_enqueue_style() dentro do arquivo functions.php para adicionar uma folha de estilo no cabeçalho. Aqui está como descobrir se o seu tema faz o mesmo.

Abra o arquivo wp-content/themes/YOUR_THEME_NAME/functions.php e descubra a linha que está adicionando a folha de estilo, Como:

wp_enqueue_style('main_style',  get_stylesheet_directory_uri() . '/style.css');

ou como:

wp_enqueue_style( 'twentysixteen-style', get_stylesheet_uri() );
  

Você pode procurar pelo ID (exceto -css part) ... se o ID for: main_style-css procure apenas main-style no arquivo functions.php, e provavelmente você deve encontrar a linha de código você estava procurando.

Agora que você encontrou o código e sabe que seu tema adiciona essa folha de estilo usando wp_enqueue_style() no arquivo functions.php. Você precisa atualizar este código para a versão.

$style_ver = filemtime( get_stylesheet_directory() . '/style.css' );
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', $style_ver );

Como você pode ver, este código obtém o horário da última modificação do arquivo style.css usando a função filemtime() PHP e também converte o tempo para timestamp usando a função time() PHP apenas para tornar as coisas limpas.

Se você não quiser que a versão seja alterada dinamicamente sempre que puder, faça isso:

wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', '1.5' );

Isso é muito bonito. Paz!

    
por Waqas Jawed 30.11.2016 / 22:38
2

Eu não recebi muitas respostas, então pensei em escrever o que funcionou para mim. Eu sei que o códice diz:

  

$ ver (string | bool | null) (Opcional) String especificando a folha de estilo   número da versão, se houver, que é adicionado ao URL como uma consulta   string para fins de impedimento de cache. Se a versão estiver definida como falsa,   número de versão é adicionado automaticamente igual ao atual instalado   Versão do WordPress. Se definido como null, nenhuma versão será adicionada. Valor padrão:   falso

Mas é muito enigmático sobre como isso realmente funciona. Não consegui um número de versão em wp_enqueue_style para acionar um parâmetro de consulta como ?ver=1.2.3 na minha folha de estilo. No entanto, defini-lo como true permite que a versão declarada da folha de estilos seja cache bust da folha de estilo. (leia)

Dentro do seu style.css você deve nomear seu tema. Isso é exigido pelo WP. No entanto, outras opções como version é o que a versão booleana do wp_enqueue_style também fornece referência.

/******************************************************************
Site Name: MySite.com
Author: @BenRacicot
Version: 4.0 // <- wp_enqueue_style's version number
Stylesheet: Main Stylesheet
******************************************************************/

Agora, quando eu alterar isso para Version: 4.1 , recebo style.css?cache-bust=0.24135995238933283

    
por TR3B 31.07.2017 / 16:16
0

Você pode simplesmente usar time() em um estilo de enfileiramento ou script como este.

Sem usar o wordpress wp_enqueue_style() function

<link rel='stylesheet' id='xxxx'  href='https://www. site css/ styles.css?ver=<?php echo time(); ?>' type='text/css' media='all' />

Usando wp_enqueue_style() function

wp_enqueue_style('style_sheet_name', get_stylesheet_directory_uri() . '/custom_style.css', '', time());

OR

wp_enqueue_style('style_sheet_name', get_stylesheet_uri() . '/custom_style.css', '', time());
    
por Mr. HK 08.02.2018 / 07:52

Tags