WordPress:Thema
Para que o WordPress verifique atualizações do seu tema através da função wp_version_check(), você precisa seguir algumas diretrizes para fornecer as informações corretas do seu tema. Aqui estão os passos básicos para registrar seu tema para verificação de atualizações:
Adicione informações do seu tema no arquivo style.css: No diretório do seu tema, abra o arquivo style.css. Certifique-se de incluir os cabeçalhos de informações do tema, como o nome do tema, a versão atual, a descrição, o autor e outras informações relevantes. Aqui está um exemplo de como essas informações podem ser estruturadas:
/* Theme Name: Seu Tema Theme URI: http://exemplo.com/ Description: Descrição do seu tema. Author: Seu Nome Author URI: http://exemplo.com/ Version: 1.0.0 */
Defina o diretório do seu tema no arquivo functions.php: No arquivo functions.php do seu tema, você precisa definir o diretório do tema usando a função wp_get_theme() e, em seguida, fornecer as informações do tema para o WordPress. Aqui está um exemplo de como fazer isso:
<?php $theme = wp_get_theme(); $theme->update_check_interval = 43200; // Intervalo em segundos para verificar atualizações (12 horas) $theme->parent = 'nome-do-tema-pai'; // Se o tema é um filho de outro tema $theme->api_url = 'https://seusite.com/atualizacoes/'; // URL da API do seu tema para verificação de atualizações $theme->slug = 'seu-tema-slug'; // Slug do seu tema // Informações opcionais para atualizações $theme->display_name = 'Seu Tema'; // Nome legível do tema $theme->author = 'Seu Nome'; // Nome do autor do tema $theme->homepage = 'http://exemplo.com/'; // URL da página inicial do tema add_filter('pre_set_site_transient_update_themes', function ($transient) use ($theme) { if (empty($transient->checked[$theme->stylesheet])) { return $transient; } $response = wp_remote_get($theme->api_url); if (!is_wp_error($response)) { $data = json_decode(wp_remote_retrieve_body($response)); if (isset($data->new_version) && version_compare($theme->version, $data->new_version, '<')) { $transient->response[$theme->stylesheet] = (object) array( 'new_version' => $data->new_version, 'package' => $data->package_url, 'url' => $theme->homepage, ); } } return $transient; });