Permitir a los contribuidores de WordPress subir archivos

wordpress

Hola a todos, hoy les traigo un tip muy interesante para WordPress. Si eres de aquellos que necesita revisar los posts de la gente que colabora contigo antes de publicarlos, necesitas darles acceso de Contribuidor. Y si tienes bloggers invitados, también debes darles ese acceso. Pero el problema es que los contribuidores no pueden subir archivos a su post. Así, los contribuidores deben auxiliarse de sitios de terceros para subir archivos, lo que hace poco atractivo animarse para contribuir con tu blog. Continue reading

El tipo de archivo no se ajusta a las directivas de seguridad. Prueba con otro.

el-tipo-de-archivo-no-se-ajusta-a-las-directivas-de-seguridad

A partir de WordPress 2.9, la subida de cualquier tipo de archivo que no se encuentre en una lista está desactivada. Previamente a esa versión, en WordPress existía un bug mediante el cual se podía subir un archivo .php. Es por eso que ahora el poder subir archivos de ciertos tipos está deshabilitado aunque seas administrador. Continue reading

Insertar mapas de Bing en WordPress

Hay un plugin de WordPress llamadoBing Maps for WordPress cuya función es crear mapa para insertar en posts de tu blog de WordPress con el shortcode [bingMap]. Los mapas insertados son dinámicos, permiten a los usuarios hacer zoom. También existe la opción de insertar mapas estáticos sin tales características. Entre los mapas que puedes insertar están los de carretera, vistas aéreas, vistas aéreas con caminos marcados en ellos, y hasta una vista 3D de ojo de pájaro. A continuación les presento un ejemplo para el siguiente shortcode:

[bingMap location="Buenos Aires, Argentina" zoom="13"]

BHCWc

Para utilizar los mapas de Bing se necesita una clave API de desarrollador que puedes obtener en Bing Maps Portal, donde inicias sesión con tu cuenta de Windows Live ID (Hotmail)

Para intalar Bing Maps for WordPress simplemente ve a la sección de plugins del panel de administración y haz clic en “agregar nuevo”, escribe “Bing Maps for WordPress” en el cuadro de búsqueda  y haz clic en “Instalar”. Si deseas instalarlo manualmente, descárgalo en este enlace.

Enlaces de imágenes rotos en WordPress 3 multisite subdominio

broken

Si tienes WordPress 3.0 y activaste la característica multi-sitio y estás utilizando la opción subdominios (lee este artículo para saber cómo hacerlo), quizás te has encontrado con el problema de que las imágenes de tus posts están siendo subidas al servidor pero no se están mostrando. Esto se resuelve simplemente ajustando la directiva AllowOverride a All en tu archivo de configuración httpd.conf. Si no tienes acceso a dicho archivo, debes ponerte en contacto con tu proveedor

<Directory>
    Options FollowSymLinks
    AllowOverride All
</Directory>

Los que hicieron una actualización desde una versión anterior de wordpress pueden cometer el error que cometí yo. Cuando habilitas multi-sitio con la opción multi-dominio Worpress te da el siguiente código para incluirlo en el archivo .htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]

Este código debe sustituir al código anterior de WordPress que está entre #Begin WordPress y #End WordPress, no se deben agregar juntos porque provocan conflicto. Luego de horas de dolor de cabeza averiguando porqué las imágenes no se veían quité ese código viejo de .htaccess entre #Begin WordPress y #End WordPress y el problema se solucionó.

Cómo activar multisitio en WordPress 3.0

Antes de comenzar:

Esta característica requiere configuración extra del servidor y más conocimiento técnico, así que debes ponerte en contacto con tu proveedor de hosting y preguntarles si soportan el uso de esta característica.

Los sitios tipo “Subfolder” (los del tipo dominio.com/sitio) funcionan con la característica mod_rewrite en el servidor teniendo la capacidad de leer el archivo .htaccess, el cual crea la estructura de enlace.

Los sitios tipo “Subdominio” (los del tipo sitio.dominio.com) funcionan con wildcard. Este es un proceso de dos pasos. El primero es que Apache debe ser configurado para aceptar wildcards.

1. Abre el archivo httpd.conf file o el que contenga la entrada VHOST para tu cuenta web.
2. Agrega esta línea: ServerAlias *.tudominio.com

El segundo paso está en los registros DNS de tu servido. Agrega un subdominio wildcard que apunte a la instalación principal. Debe ser algo como:

1. En A *.tudominio.com.

Necesitas estas dos cosas para que funcione. Algunos hosts have already set up the wildcard on the server side, which means all you need to add is the DNS record. Some shared hosts will not support it all all.

Manos a la obra:

WordPress 3.0 es donde ocurre una gran unión. El núcleo de WPMU (WordPress MU, la plataforma multisitio de WordPress) está ahora incorporada en WordPress lo que significa que ahora puedes correr múltiples blogs desde una sola instalación de WordPress. Esta nueva característica está siende llamada opción Multisitio o de Red. Por defecto está deshabilitada. Si quieres esta funcionalidad, entonces tendrás que habilitarla.

Para habilitar esta característica, simplemente abre tu archivo wp-config.php localizado en el directorio raíz de WordPress. Entonces agreta la siguiente línea:

define('WP_ALLOW_MULTISITE', true);

Una vez que has hecho esto, debes poder acceder a la página de Red en Herramientas » Network. Nota, como vemos en la imagen anterior, que primero hay que desactivar todos los plugins antes de utilizar esta función:

wordpress-network-deactivate-plugins

Una vez hecho esto, podemos crear nuestra primera “Red”. Para eso, actualizamos la información que aparece en la siguiente pantalla y hacemos clic en “Instalar”:

wordpress-network-create

Ahora debemos seguir los pasos que nos dice la siguiente pantalla, que son: crear un directorio blogs.dir dentro de la carpeta wp-content; agregar el código que te dan a wp-confing; finalmente, agregar un código que te dan para el archivo .htaccess.

wordpress-network-modificate

Finalizado todo esto,puedes agregar nuevos sitios en Super Admin -> Sites

wordpress-network-sites

Noten que por defecto, sólo podemos correr otros blogs como subdominio. Para agregar otros dominios, hay que utilizar el plugin Domain Mapping.

Cualquier duda o pregunta háganla en los comentarios.

Agregar Botones Twitter y Facebook para tu blog de WordPress

Si lo que deseas es agregar botones a tus artículos de WordPress para que tus usuarios los compartan con un sólo clic en Twitter y WordPress, este es tu post. Les explicaré todo el proceso paso a paso, así que, comencemos:

Twitter:

Utilizaremos el plugin TweetMeme Retweet Button.

  1. En el panel de control de WordPress seleccionamos Plugin / Añadir Nuevo
    agregar-nuevo-plugin
  2. En el cuadro de búsqueda escribimos TweetMeme Button y hacemos clic en Buscar Plugins
    buscar-plugins
  3. En el listado que aparece buscamos TweetMeme Button. Si escribiste el nombre exactamente igual, debería ser el primero. Hacemos clic en Instalar
    instalar-tweetmeme
  4. En el Popup que aparece presionamos el botón Instalar ahora.
    instalar-ahora-tweetmeme
  5. Luego hacemos clic en el enlace Activar Plugin
    activar-tweetmeme

Ajustes de Tweetmeme:

  1. Localiza y haz clic en Tweetmeme al final de la sección izquierda del panel de administración de WordPress.
    ajustes-tweetmeme
  2. Cambia los ajustes de Tweetmeme de acuerdo a tus necesidades. Por ejemplo, yo prefiero utilizar la ubicación manual del botón porque así puedo controlar que salga donde yo quiera insertando un código en el template.
    ajustes-tweetmeme-1
  3. Si elegiste la ubicación manual, entonces inserta el siguiente código donde quieres que aparezca el botón:
    <?php
    if(function_exists('tweetmeme')) {
    echo tweetmeme();
    }?>
  4. Finalmente, deberías obtener algo como esto:
    tweetmeme

Facebook:

  1. Puedes seguir exactamente todos los pasos anteriores para un pluguin llamado Facebook Share (New) Button. OJO: No lo confundan con Facebook Share Button, porque ese no funciona.
  2. Si escogen la opción manual, para agreguen el siguiente código en el lugar donde desdean que aparezca:
    <?php if (function_exists('fbshare_manual')):
    echo fbshare_manual(); endif;?>

    facebookshare

Resolver problemas de permisos en instalación de WordPress

¿Adquiriste un hosting privado y encuentras que tienes que estar ajustando permisos para que wordpress pueda crear carpetas y subir archivos/imágenes?. Además, a la hora de actualizar un plugin te encuentras con el error:

To perform the requested action, connection information is required. (Para realizar la acción solicitada, se requieren los datos de conexión.)

Datos de conexion

Este problema se debe a que WordPress no posee los permisos necesarios para modificar directamente el sistema de archivos. La forma más rápida de resolver esto es cambiar el propietario del archivo de tu instalación de WordPress al usuario y grupo bajo el cual corre apache.

Para saber bajo qué usuario/grupo corre apache:

  • Dirígete a /etc/httpd/conf/
  • Abre el archivo httpd.conf
  • Localiza la línea:
    User apache
    Group apache
  • Navega a /var/www/vhosts/carpeta de tu sitio web/
  • Si estás utilizando WinSCP, simplemente haz clic derecho en httpdocs
  • Cambiar propietario

  • En la ventana que aparece, cambia el grupo y usuario al grupo/usuario que obtuviste en los pasos anteriores. Si no los ves en la lista, los puedes escribir. En mi caso fue apache. No te olvides de seleccionar la casilla de verificación ”Establecer propiedad y permisos recursivamente”.
  • Cambiar propietario

  • Si estás en una línea de comandos, puedes utilizar un comando como este:
    # chown -R httpd: wordpress
    

Con estos simples pasos resuelves todos tus problemas relacionados con permisos en tu instalación de WordPress. Si tienes alguna duda, no temas en preguntar.

Editor de WordPress no carga correctamente

En dos ocasiones me he encontrado con el problema de la imagen anterior (clic en la imagen para ampliar). El editor de WordPress no carga correctamente y adicionalmente algunas funciones no funcionan, valga la redundancia. La primera vez que me encotré con este problema, luego de investigar en la web y no encontrar respuesta, me puse a averiguar por mí mismo. Tras días de intensas pruebas lo último que se me ocurrió fue deshabilitar todos los plugins.  Todo volvió a la normalidad. Comencé a habilitar los plugins uno a uno y cargando el editor de wordpress para saber cuál era el plugin que me causaba el problema. Finalmente descubrí que el causante era el plugin WordPress Related Posts.

En el día de hoy, me volví a topar con el mismo problema al publicar la entrada que les presenté en la imagen. Como todo estaba bien antes de publicar la entrada, pensé que podía haber algún texto en html causando problemas, así que comencé a limpiar el html, pero todo seguía igual. Luego borré la entrada completa y todo volvió a la normalidad. Volví a redactar la entrada desde cero y todo estaba bien hasta que publiqué otra vez. Me dije a mi mismo: “Mi mismo, debe haber algún plugin que se vuelve loco cuando publicas esa entrada”. Efectivamente, desactivé un plugin Glossary y todo volvió a la normalidad.

Bueno, en esta ocasión no encontramos la raíz verdadera del problema, pero, si nos encontramos en apuros, ya sabemos por dónde atacar.

Problemas comunes tras mudar tu blog de WordPress de Hosting

Wordpress

He creado una guía sobre cómo mudar tu blog de WordPress de hosting. Pero la primera pregunta que nos viene a la cabeza al tratar de mudar nuestro blog es: ¿qué problemas podríamos encontrar en el proceso y cómo enfrentarlos?. A continuación les detallo los que conozco hasta el momento:

El sitio aparece en blanco al tratar de cargarlo

Hasta donde conozco esto puede ocurrir por dos razones distintas. La primera es que olvidaste subir los archivos del tema que tu blog tenía cargado en el hosting anterior. Entonces WordPress busca el tema y no lo encuentra, así que el blog aparece en blanco. Para resolver esto simplemente sube los archivos del tema. O si prefieres, puedes entrar al panel de administración directamente a través de http://tublog.com/wp-admin y puedes cambiar el tema.

La otra razón por la que al cargar el blog no aparezca nada es por un plugin que tenías activado en el hosting anterior y olvidaste subirlo al nuevo hosting. Si no quieres desperdiciar tiempo averiguando qué plugin se te olvidó subir, puedes acceder a phpmyadmin en tu nuevo hosting y forzar a Worpress a desactivar todos los plugins. Esto se logra buscando la clave active_plugins en la tabla wp_options.

Options

Haz clic en el lápiz para editar su contenido:

Wp-options

Borras todo su contenido (option_value) y haces clic en Go.

Con esto habrás logrado desactivar todos los plugins, ahora puedes ir al panel de administración de WordPress para reactivar los que necesitas.

Los enlaces permanentes (permalinks) no funcionan

Si al hacer clic en un post te encuentras con el mensaje de error de que el post no aparece, no te atormentes. Simplemente olvidaste traer en la mudanza el archivo .htaccess. Tienes dos opciones para resolver esto: descargar el archivo .htaccess de tu viejo hosting y subirlo al nuevo o ir a Opciones -> Enlaces Permanentes  en el panel de administración de WordPress. Selecciones la estructura por defeto y guardas los cambios y luego vuelves a seleccionar tu estructura favorita y guardas los cambios otra vez.

permalinks

No todos los posts fueron transferidos en la base de datos

Este problema no ocurre con los blogs pequeños, sólo ocurre con blogs grandes, con mucho contenido. Cuando echas a andar tu sitio en el nuevo hosting, puedes encontrarte con que aparecerán los posts hasta una fecha unos cuantos meses atrás. ¿Qué pasó con los más recientes?. Al exportar la base de datos extrañamente no fueron exportados todos los registros de la tabla wp_posts. Lo mismo podría ocurrir con la tabla wp_postmeta. En este caso debes tratar lo siguiente:

  • Descargar de tu viejo hosting solamente la tabla wp_posts. Según mi experiencia, si la descargas comprimida, baja más completa.
  • Descomprímela y abre el archivo sql con el bloc de notas (puede tardar varios minutos)
  • Navega hasta el final del archivo. Allá abajo debes encontrarte con el último post que debe aparecer en tu blog.
  • Si todavía se descargó incompleta la tabla de posts, entonces, prueba mi solución exrema:
    • Genera otra vez la tabla de posts, pero sin descargarla (puede tardar varios minutos y poner la computadora lenta)
    • Cuando aparezca el texto, navega hasta el final para comprobar si aparece el últiimo post que se publicó en tu blog (este método no falla)
    • Si todo está bien, copia el texto
    • En tu nuevo hosting, en vez de seleccionar la opción de Importar en phpmyadmin, seleeciona SQL. Pega allí el texto y selecciona Go
    • En este punto ya todo debe estar bien

Algunas recomendaciones que no debes pasar por alto

Cuando mudes la base de datos, compara el número de registro de cada tabla en phpmyadmin del hosting viejo y del hosting nuevo. Todas las tablas deben tener igual cantidad de registros. Si en el hosting nuevo encuentras que una tabla tiene menos registros que su homóloga en el hosting viejo, repite los pasos del apartado anterior.

Antes de mudar haz una lista con las cosas que necesitas, de acuerdo al artículo cómo mudar tu blog de WordPress de hosting.