Tag Archives: PHP

Solucion al Cannot modify header information – headers already sent by… de WordPress

Un error muy común en los archivos php es el de Cannot modify header information – headers already sent by… Y aca ponen el archivo que genera esa error.

Una vez, recuerdo, abandone un proyecto que estaba haciendo porque no lo pude solucionar. Cuando buscamos información referente a este error siempre nos encontramos con lo mismo, fijate que tu script no haga ninguna salida antes de crear un cookie (o de usar una funcion referida a los headers) y fijate que no halla espacios en blanco antes del <?php o despues del ?>. Pero hay una cosa mas.

No recuerdo donde lo lei, hace unos meses ya, si nuestro archivo esta guardado en una codificación de caracteres distinta de ANSI nos va a dar el mismo error. Supuestamente se toma el cambio de codificación de caracteres como una salida.

Bueno el tema es que hoy me econtre con ese problema en una instalación de WordPress. Me decia: “Cannot modify header information – headers already sent by (output started at chorizo/wp-config.php)” Agarre el archivo, me fije que no hubiera espacios al principio o al final (es que lo estuve toqueteando), y siguio dando problemas. Agarre el viejo y querido Notepad, abri el archivo y le di al guardar como, ahí eleji la codificación ANSI. ¿Y saben que?… salio andando.

Listar solo las ultimas paginas creadas

En socialte tenemos un funcionamiento que difiere un poco del normal de un blog. Tenemos, para decirlo de una manera, dos tipos de contenidos. Estos contenidos, como es de esperarse, los dividimos en posts y paginas porque era lo mas sencillo de hacer.

Los posts son reseñas de paginas, y las paginas son artículos, lo idea seria lo contrario tal vez, pero eso nos limitaba otras cosas. Asi que quedo de esa forma.

El problema se presento cuando la cantidad de artículos aumento. Tener un listado con 30 o 40 artículos (que son paginas) es bastante problemático. Por suerte en la biblia de wordpress encontré algo muy útil.

A partir de la version 2.8 de wordpress dentro del tag de plantilla wp_list_pages tenemos unos cuantos argumentos útiles. Conocía algunos, exclude y cosas asi, pero habia uno “number” que no conocía.

El parámetro number limita la cantidad de paginas que se muestran en ese listado. Entonces con un poco de código podemos listar, por ejemplo, solo las ultimas 10 paginas publicadas. El código me quedo asi:

<?php wp_list_pages(‘number=10&title_li=&exclude=1&sort_column=ID&sort_order=DESC’); ?>

A ver… un par de cosas:

sort_column es para ordenarlas por algún campo en particular, el normal, creo, es por el titulo.

sort_order es para decirle como queremos que se orden, el normal es ascendiente, creo, como queremos los últimos 10 usamos descendiente.

El exlude ya sabemos para que se usa ¿no?

display: inline-block para IE, y los demas navegadores

Estaba yo muy contento con la diagramacion de un listado generado dinámicamente en donpresupuesto.com. Pero de golpe me vengo a enterar que el display: inline-block no funciona en Internet Explorer. Y todo se fue al carajo. Las 5 columnas de localidades (Que pueden ver, por ejemplo en la pagina de reformas en a coruña) se transformaba en una sola, tan pero tan, fea que daba lastima.

Tenia dos opciones, meter un poco mas de código php, para generar divs con ese contenido dinamico y luego posicionarlos con float o algo asi, o buscar una forma de que mi listado funcione como yo esperaba. PHP se bastante, pero quería buscar una forma de hacerlo solo con css. Por suerte en Internet hay de todo. Una búsqueda y lo encontre.

Básicamente consiste en agregar unas lineas al css que hacen que se muestre el bien en todos los navegadores. No es un display:  inline-block puro pero logramos que se muestre como esperamos.

Solo tuve que agregar estas lineas:

Lo que me dejo el código asi:

Y con eso ya deje todo funcionando…

Como poner enlaces en los listados de paginas

A ver si me explico un poco muchas veces tenemos la necesidad de poner un enlace en donde listamos las paginas del blog, puede ser para llevarlos a una seccion el sitio que no es una pagina de wordpress, para linkear otro proyecto o cosas por el estilo.

Mi necesidad en particular era vincular dos sitios distintos. Uno en el dominio principal y el otro en un subdominio. El que esta en el subdominio es una versión en ingles del primero, pero con con el mismo contenido… bien, la idea era poner el enlace en le listado de paginas para dar la sensación de ser todo parte del mismo sitios (que de hecho lo es) y que no se note que son dos instalaciones disitintas de wordpress.

Primero los resultados pueden verlos en socialte y en la version en ingles.  Veamos un poco de cogido (es sencillo).

Para listar las paginas del blog tenemos algo asi:

<ul>
<li><a href=”/”>home</a></li>
<?php wp_list_pages(‘title_li=”); ?>
</ul>

Bien… si se fijan para poner el enlace a la home del sitio solo pone un elemento en la lista con el enlace. Nosotros tenemos que hacer lo mismo.

Lo que a mi me quedo:

<ul>
<li><a href=”/”>home</a></li>
<?php wp_list_pages(‘title_li=”); ?>
<li><a href=”http://en.socialte.com”>English</a></li>
</ul>

Y eso es todo… ¿sencillo no?

Peazip compresor GZ portable

Hoy necesitaba un compresor de archivos que me permita guardarlos en formato GZ. ¿Por que GZ? porque big dump, un genial script para importar base de datos grandes, solo acepta archivos “.sql” o “.gz”.

Tenia una base de datos que en .sql pesaba casi 50 megas, una locura subir todo eso. Asi que busque un poco y me encontre con Peazip una aplicación portable que nos permite comprimir en .GZ.Y esos 50 megas se transformaron 2 megas nomas.

Con eso y un poco de pericia logra dumpear (Alto termino!) la BD bastante facil.