Deprecated: Assigning the return value of new by reference is deprecated in /home/summarg/domains/summarg.com/public_html/wp-content/plugins/post-series/post-series.php on line 841 Notice: is_feed was called incorrectly. Conditional query tags do not work before the query is run. Before then, they always return false. Please see Debugging in WordPress for more information. (This message was added in version 3.1.) in /home/summarg/domains/summarg.com/public_html/wp-includes/functions.php on line 3245 Sentencias SQL para utilizar con WordPress | SummArg

SummArg | Cursos y recursos para webmasters

31/01/2012

Sentencias SQL para utilizar con WordPress

SQL es el lenguaje para manejar las bases de datos y en este artículo veremos algunas declaraciones que nos pueden salvar de un aprieto con nuestro WordPress. La mayoría de los servicios de hosting disponen de algún gestor de bases de datos como ser phpMyAdmin, en caso de no estar disponible, cualquiera que tenga un acceso FTP puede instalarlo en el servidor y utilizarlo.

Cambiar nuestro blog de dominio

Primero cambiamos la dirección del blog.

UPDATE wp_options SET option_value = replace(option_value, 'http://www.dominio-viejo.com', 'http://www.dominio-nuevo.com') WHERE option_name = 'home' OR option_name = 'siteurl';

Cambiamos todas las URLs de los posts.

UPDATE wp_posts SET guid = replace(guid, 'http://www.dominio-viejo.com','http://www.dominio-nuevo.com');

Y finalmente modificamos dentro de cada entrada cualquier link que encuentre hacia el contenido viejo, muy frecuente de ver para el caso de imágenes.

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.dominio-viejo.com', 'http://www.dominio-nuevo.com');

Cambiar el valor de un campo personalizado

Si necesitamos cambiar el valor de un custom field determinado podemos utilizar la siguiente sentencia, en donde ‘CustomField’ debe ser reemplazado por el nombre del campo personalizado en donde figuran los valores a cambiar:

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'valor viejo', 'valor nuevo') WHERE 'meta_key' LIKE 'CustomField'

También puede no indicarse el campo personalizado y permitir que el reemplazo sea extensivo.

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'valor viejo', 'valor nuevo')

Restaurar la contraseña del administrador

Con esta declaración cambiamos la contraseña del usuario admin

UPDATE 'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;

Cambiar un autor por otro en todas las entradas que aparezca

Busca todas las entradas que tengan X ID de usuario y las cambia a otro autor. En ambos casos se debe señalar el ID.

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

Borrar las versiones de revisión de una entrada

Y todos los meta relacionados con las revisiones.

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

Encontrar tags que no estén siendo utilizados

Las etiquetas sin uso pueden borrarse tranquilamente.

SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

Buscar y reemplazar términos

Es útil para efectuar correcciones masivamente. Por ejemplo, supongamos que necesitamos cambiar todos los términos wordpress (en minúsculas) por WordPress (con dos mayúsculas) en un blog de gran cantidad de entradas. Con esta declaración facilmente podemos hacerlo.

UPDATE table_name SET field_name = replace( field_name, 'string_to_find', 'string_to_replace' ) ;

Obtener un listado de mails de todos nuestros comentadores

El parámetro DISTINCT indicará que aunque un mail se repita muchas veces debe listarlo sólo una, de este modo nos aseguramos que nuestro listado no contenga direcciones repetidas.

SELECT DISTINCT comment_author_email FROM wp_comments;

Deshabilitar todos nuestros plugins

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

Deshabilitar los comentarios en entradas viejas

La siguiente consulta cerrará los comentarios para todas las entradas anteriores al primero de enero de 2011.

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2011-01-01' AND post_status = 'publish';

Reemplazar todas las URL de un comentador

Digamos que un buen comentador muda su website a otro dominio y desea conservar los backlinks.

UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://www.viejo-dominio.com', 'http://www.nuevo-dominio.com' );

Borrar todos los comentarios cuyo comentador tenga determinada URL

DELETE from wp_comments WHERE comment_author_url LIKE "%wp-url%" ;

Reemplazar caracteres extraños

Suele suceder durante migraciones, en donde descubrimos que algunos extraños pueden aparecer en las entradas o comentarios.

UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '”', '”');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '’');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '‘');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '—', '–');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '–', '—');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-');
 UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '“', '“');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '”', '”');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '’', '’');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '‘', '‘');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '—', '–');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '–', '—');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '•', '-');
 UPDATE wp_comments SET comment_content = REPLACE(comment_content, '…', '…');

Fuentes Catswhocode y wprecipes

Dejar un comentario

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: SQL es el lenguaje para manejar las bases de datos y en este artículo veremos algunas declaraciones que nos pueden salvar de un aprieto con nuestro WordPress. La mayoría de los servicios de hosting disponen de algún gestor de…..

  2. elmajaron

    Muy bueno y muy bien explicado me va a servir de mucha ayuda, gracias.

Dejar un comentario

Notice: Undefined variable: wp_sh_class_name in /home/summarg/domains/summarg.com/public_html/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1002 Notice: Undefined variable: wp_sh_class_name in /home/summarg/domains/summarg.com/public_html/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1002 Notice: Use of undefined constant XML - assumed 'XML' in /home/summarg/domains/summarg.com/public_html/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048