Cómo cambiar las URLs en la base de datos cuando la web en wordpress es migrada a otro servidor

Si migramos nuestra web a otro servidor podemos encontrarnos con el problema en la base de datos de que sigue apuntando a las urls de la web antigua. Para solucionarlo podemos usar el phpmyadmin y ejecutar las siguientes sentencias:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');

En nuestro caso esto nos ha funcionado siempre, pero quizás en determinadas circunstancias de un error o tengas que modificar más tablas para cambiar todas las URLs.

Cómo solucionar error utf8mb4_unicode_520_ci

Cuando migramos una web de wordpress a otro servidor, en el proceso de importar la base de datos en archivo .sql o comprimido en el nuevo servidor por phpmyadmin podemos encontrarnos un error como utf8mb4_unicode_520_ci, que si tenemos la web en inglés sería: Unknown collation: ‘utf8mb4_unicode_520_ci’.

Para solucionarlo tenemos que editar el archivo .sql con el editor Notepad++ y remplazando todas las palabras utf8mb4_unicode_520_ci a utf8mb4_unicode_ci, entonces salvamos el archivo y lo volvemos a importar. Ya no nos dará ese error.

Cómo solucionar El plugin ha provocado una salida inesperada de caracteres durante la activación

Si estamos creando plugin para wordpress puede que cuando lo activemos nos encontremos con el siguiente mensaje:

“El plugin ha provocado una salida inesperada de x caracteres durante la activación”, sustituyendo x por el valor que nos de.

Este problema lo genera la codificación no adecuada del plugin.

Para solucionarlo es muy sencillo, tenemos que Codificar en ANSI los archivos del plugin. Utilizando Notepad ++ podemos hacer clic en el menú Formato y después pulsamos en Codificar en ANSI.

Cómo traducir el texto de un widget en WordPress utilizando qTranslate

Para traducir el texto de un widget de WordPress utilizando qTranslate tenemos que incluir delante del texto de cada idioma lo siguiente [:XX] siendo XX el idioma elegido (definido con 2 letras).

Por ejemplo, si queremos poner un texto en inglés y español hariamos lo siguiente:

[:en]My English Title[:sv]Mi título en español

Esto vale tanto para títulos como para contenidos de cualquier widget.

Cómo insertar el selector de idiomas de qTranslate en WordPress en cualquier sitio de la plantilla o template

Si tenemos instalado qTranslate en nuestro WordPress es posible que queramos situar el selector de banderas de los idiomas en el header u en otra zona. Si queremos insertarlo en el header tenemos que ir al archivo de la plantilla de WordPress donde se programa en header, generalmente header.php. Ahí insertamos lo siguiente:

<?php if ( function_exists( 'qtrans_generateLanguageSelectCode' ) ) qtrans_generateLanguageSelectCode( 'image' ); ?>

Después vamos al css de la plantilla, generalmente style.css y ponemos lo siguiente:

#qtranslate-chooser { list-style-type:none; float:right }
#qtranslate-chooser li { float : left; margin-right: 5px; margin-top: 10px; }

Podemos cambiar estos valores como queramos para que quede bien ajustado. Yo tuve que cambiar en una plantilla margin-right y margin-top para que quedara como yo quería.

Cómo entrar a la administración de WordPress

Si queremos acceder a la administración de WordPress tenemos que añadirle a la URL de nuestra web (es decir la dirección de nuestra web) lo siguiente: wp-admin

De está forma si nuestra web es: http://hola.net para acceder a la administración de WordPress tendríamos que escribir: http://hola.net/wp-admin

Y entrariamos a la página de logeo de la administración que nos mostraría una imagen como esta:

Acceder administración en WordPress
Acceder administración en WordPress

Cómo bloquear todo el sitio web mediante robots.txt

Si no queremos que los motores de busqueda como Google indexen nuestro sitio web porque por ejemplo estamos en la fase beta de un proyecto podemos modificar el archivo robots.txt que se encuentra en la raíz del sitio web o crearlo poniendo lo siguiente:

User-agent: *
Disallow: /

Con esto todo nuestro sitio web está bloqueado.

ERROR: Unreadable CAPTCHA token file en WordPress

El puglin CAPTCHA puede dar un error que haga imposible enviar comentarios a nuestras entradas, ya que cuando se pulsa en “Publicar comentario” nos aparece el siguiente mensaje de error: “ERROR: Unreadable CAPTCHA token file”.

Para solucionarlo tenemos que entrar a nuestra instalación de WordPress y dar permisos a nuestro plugin “SI CAPTCHA Anti-Spam”. Para hacerlo tenemos varias alternativas como utilizar un cliente FTP gratuito como Filezilla o utilizar el que nos proporciona nuestro hosting. El plugin “SI CAPTCHA Anti-Spam” se encuentra en la siguiente dirección:

/wp-content/plugins/si-captcha-for-wordpress/

Ahí tenemos la carpeta /captcha

Dentro de esta carpeta tenemos que crear el archivo /temp

Finalmente a la carpeta /captcha le damos permisos 0777 incluyendo a todos los subdirectorios (aplicar a todos los ficheros y subdirectorios).

Para probar que funciona recargamos nuestra web en WordPress y tratamos de enviar un comentario, si vuelve a salir el error puede ser porque quizás tenemos que borrar el cache o hacer otro procedimiento, aunque yo no lo he necesitado para que funcione.

Nueva solución: Crear una carpeta en wp-content/plugins/si-captcha-for-wordpress/ llamada cache, de tal forma que tendríamos: wp-content/plugins/si-captcha-for-wordpress/cache y a esa carpeta lo damos permisos 0777.

Cómo poner código en WordPress: SyntaxHighlighter Evolved

Para poner código en WordPress tenemos el siguiente plugin: SyntaxHighlighter Evolved. También hemos instalado la extensión para PHP5.

Cómo poner código PHP con SyntaxHighlighter Evolved:

Nos situamos en el editor en HTML (no en Visual) y escribimos el código PHP entre las etiquetas [php] y [/php]:

<?php
$numero=1;
echo $numero;
?>

Cómo poner código HTML con SyntaxHighlighter Evolved:

Nos situamos en el editor en HTML (no en Visual) y escribimos el código HTML entre las etiquetas [html] y [/html]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>PHP Code Example</title>
</head>
<body>
    <h1>PHP Code Example</h1>
 
    <p><?php echo 'Hello World!'; ?></p>
 
    <p>This line is highlighted.</p>
 
    <div class="foobar">
        This    is  an
        example of  smart
        tabs.
    </div>
 
    <p><a href="http://wordpress.org/">WordPress</a></p>
</body>
</html>