JoseLopez.info

Tutoriales

Reusando el header y footer de wordpress en aplicaciones externas

por en jul.20, 2011, under Blog, Tutoriales

Luego de romperme la cabeza por algunas horas tratando de re-usar el header y el footer de wordpress de alguna forma dinámica que me permitiera reproducir y mantener sincronizado el diseño en aplicaciones externas, encontré una forma ideal para lograrlo.

El proceso es sencillo pero vas a requerir de acceso al shell para hacerlo.  Al menos para preparar los scripts y el cron si lo vas a tener automático.

  1. Crea un directorio para guardar el script y los templates que necesitas.  Yo los tengo fuera de mi document root.

    /home/usr/headers

  2. Aqui dentro vas a crear varios archivos, cada uno de estos archivos va a incluir el archivo wp-blog-header.php de la raiz de tu instalacion de wordpress y tambien el header y el footer respectivamente del theme de tu wordpress: header-wrapper.php footer-wrapper.php

    Ej.: header-wrapper.php
    <?php
    require('/home/usr/public_html/wp-blog-header.php');
    include "/home/usr/public_html/wp-content/themes/name/header.php";
    ?>
    
    Ej.: footer-wrapper.php
    <?php
    require('/home/usr/public_html/wp-blog-header.php');
    include "/home/usr/public_html/wp-content/themes/name/footer.php";
    ?>

  3. Ahora necesitamos un script que va a ejecutar los comandos: update_headers.sh

    #!/bin/bash
    rm -rf header-wrapper.html && php header-wrapper.php > header-wrapper.html
    rm -rf footer-wrapper.html && php footer-wrapper.php > footer-wrapper.html

    En esencia este script empieza borrando header-wrapper.html y footer-wrapper.html si ya existen.  Luego usa php (en el cli) para ejecutar los archivos php que creamos en el paso anteior y los exporta a un archivo .html independiente para nuestro uso.

  4. Aplica permiso de ejecucion al script que creamos en el paso anterior.

    chmod a+x update_headers.sh

  5. Ya solo nos queda ejecutar el script para generar los .html que usaremos en nuestra aplicación externa.

    ./update_headers.sh

  6. Ya con tus dos archivos en formato .html exportados puedes hacer con ellos lo que quieras.  En mi caso, la aplicación donde los necesitaba usa Smarty.  Con Smarty es muy sencillo incluir un archivo externo.  Este es el comando:

    {include file="/home/usr/headers/header-wrapper.html"}

Algunos pasos opcionales:

  • Si quieres automatizar el proceso simplemente crea un cron job a la frecuencia que consideres ejecutando el script.  De esta forma tu aplicación siempre estará en sincronismo con cualquier cambio que hagas a tus templates en wordpress.
  • Para mi era importante hacer algunas modificaciones a los .html generados para tener una mejor integración.  Esto lo hice haciendo uso de un paquete disponible en PEAR.
    1. Vamos a instalar el PEAR Package: File_SearchReplace

      pear install File_SearchReplace

    2. crea un nuevo script para realizar los procesos: sr.php

      <?php
      
      include 'File/SearchReplace.php' ;
      
      $files_to_search = array('header-wrapper.html','footer-wrapper.html');
      
      $search_string  = array('busqueda1', 'busqueda2');
      $replace_string = array('reemplazo1', 'reemplazo2');
      
      $snr = new File_SearchReplace($search_string,
                                    $replace_string,
                                    $files_to_search,
                                    '', // directorie(s) to search
                                    false) ;
      $snr->doSearch();
      
      ?>

    3. Simplemente ingresa en los arreglos los valores que quieres buscar y sus respectivos reemplazos (ojo con el index de lo que busca y remplaza).  También debes agregar en el arreglo los archivos a buscar.
    4. Agrega la ejecucion de este nuevo archivo a nuestro script original, ahora seria:

      #!/bin/bash
      rm -rf header-wrapper.html && php header-wrapper.php > header-wrapper.html
      rm -rf footer-wrapper.html && php footer-wrapper.php > footer-wrapper.html
      php sr.php

    5. Listo, luego de generar los archivos .html el script buscara y reemplazara los cambios necesarios.

En mi caso yo estoy usando estos scripts para integrar el WHMCS con WordPress y mantener la visual en todo el website.  He hecho algunos reemplazos que me interesaban y removido algunos códigos innecesarios usando el paquete de PEAR, me lo encuentro muy util.

Si encuentras algún uso creativo de estos scripts por favor déjame saber en un comentario.

Credito para algunas de las paginas que use de referencia:

Saludos,
Jose R. Lopez

Deja un Comentario :, , , , , , , , , , mas...

Backup automático de cPanel a Amazon S3 (linux)

por en jun.20, 2011, under Tutoriales

Este es un tutorial sencillo para automatizar backups desde cPanel a Amazon S3 100% automatico.  Existen varias guias en linea para hacer estas mismas funciones de varias maneras pero en mi experiencia la forma que describo debajo es la mas sencilla y efectiva. Continue leyendo “Backup automático de cPanel a Amazon S3 (linux)” »

Deja un Comentario :, , , , , , , , , mas...

Estas buscando algo?

Use el formulario debajo para realizar una busqueda:

Aun no encuentra lo que busca? Dejenos un comentario en un escrito o contactenos!