Ver Mensaje Individual
  #15 (permalink)  
Antiguo 16/04/2012, 13:41
Avatar de Nekko
Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 1 mes
Puntos: 656
Respuesta: Programación para que un tema se actualice desde el escritorio

Colocar en línea el servidor

Descargamos el script desde github y lo descomprimimos. Creamos una base de datos e importamos el archivo download_table.sql que viene en el ZIP.
Editamos el archivo /api/download.php y modificamos la ruta relativa a la carpeta en donde alojaremos los archivos comprimidos correspondientes al theme.

Código PHP:
$strDownloadFolder "./theme/"
Luego completamos las credenciales para contectar a la base de datos:

Código PHP:
$resDB mysql_connect("DB_SERVER""DB_USER""DB_PASSWORD");
 
mysql_select_db("DB_NAME"$resDB); 
Actualizar themes

Guardamos y editamos el archivo /api/index.php, en la línea 72 que es en donde comienza la comprobación de themes para actualizar.
Código PHP:
// Theme with update info
$packages['themeTaller6'] = array( // Reemplazar exactamente con el slug que tenga el theme.
'versions' => array(
'2.1' => array( // Ultima version disponible
'version' => '2.1'// Ultima version disponible
'date' => '2011-04-16'// Fecha de la version
'package' => 'http://www.dominio-del-servidor.com/theme/themeTaller.zip'// ruta a nuestro paquete con el theme
'file_name' => 'themeTaller.zip'//  nombre completo de nuestro theme comprimido
'author' => 'SummArg'// Autor del theme
'name' => 'themeTaller6'// Nombre del theme
'requires' => '2.8'// version de la plataforma minima requerida
'tested' => '2.8'// version de la plataforma en la que fue testeado el theme
'screenshot_url'=> 'http://www.dominio-del-servidor.com/theme/screenshot.png' // url de la miniatura
)
),
'info' => array(
'url' => 'http://www.midominio.com' // website del theme, si tiene
)
); 
Es importante que el encabezado del style.css de nuestro theme coincida con los datos que ofrecemos en esta sección, especialmente el slug (themeTaller6 en nuestro caso) y el nombre del theme (utilizamos el mismo). Una aclaración: no observamos que la ruta a la miniatura funcione, sino que la plataforma intenta tomar el archivo screenshot.png de la raíz del theme.
El encabezado del style.css para nuestro caso es el siguiente:

Código PHP:
/*
Theme Name: themeTaller6
Theme URI: www.sitefun.com.ar
Author: SummArg
Version: 1.0
Description: themeTaller clase 6
*/ 
Subimos toda la carpeta /api/ a nuestro servidor. Luego creamos una carpeta llamada /theme/ y dentro colocamos nuestro archivo comprimido para descargar.
Nuestro theme necesita además de un archivo update.php que lo colocaremos en el theme dentro de una carpeta llamada /includes/ para mantener el orden. Dentro del functions.php colocamos la siguiente línea:
Código PHP:
include(TEMPLATEPATH '/includes/update.php'); 
Y abrimos el archivo update.php para su edición. Reemplazaremos las primeras líneas 4 a 10 por esto:
Código PHP:
set_site_transient('update_themes'null);
 
add_filter('pre_set_site_transient_update_themes''check_for_update');
 
/******************Change this*******************/
$api_url 'http://www.dominio-del-servidor.com/api/';
/************************************************/ 
En donde básicamente eliminamos el comentario de la primera línea y reemplazamos la ruta del servidor por la nuestra.
Tras haber subido los archivos correspondientes al servidor (carpeta /api/ y la carpeta /theme/ que contiene nuestro zip), y haber subido el functions.php modificado a nuestro theme, con su respectivo /includes/update.php, procedemos a probar desde Escritorio > Actualizar si se observan las actualizaciones. Pueden ir modificando los archivos a medida que sea necesario y presionar el botón “Comprobar de nuevo”.
Deberíamos poder ver la actualización e instalarla sin inconvenientes.


---------
La versión completa de la nota la publiqué en SummArg

No duden en exponer acá todos los problemas y dudas que vayan surgiendo! Entre todos quizás podamos mejorarlo.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Última edición por Nekko; 16/04/2012 a las 14:11