Archivo de la etiqueta: Wordpress

Reemplazar texto en post de WordPress

En algunas ocasiones nos es necesario cambiar texto en todos los post de nuestro wordpress donde aparezca. Porque quizá hemos cambiado la ubicacion de todas nuestras imagenes o porque lo que ofrecemos como software de descarga lo hemos alojado en otro servidor.

Un ejemplo:

Nuestro servidor donde alojamos ficheros de imagenes se llama “menganito” y queremos cambiarlo por “fulanito” que nos sale mas economico.

La sentencia sería:
update table_name set table_field = replace(campo_de_la_tabla,'texto_que_quiero_reemplazar','con_esto');

Aplicado a las tablas de wordpress:
update wp_posts set post_content = replace(post_content,'htt://www.menganito.com/imgs','htt://www.fulanito.com/imgs');

Esto nos permite cambiarlo todo de una vez. Por supuesto hay que ejecutarla en una ventana SQL de phpMyAdmin conectado a la base de datos de WordPress.

Actualiza WordPress 2.6.3 a 2.6.5.

Parece ser que WordPress antes de publicar su versión 2.7 se ha visto obligado a sacar la versión 2.6.5 por un grave agujero de seguridad descubierto.

WordPress se ha visto obligado a saltar la versión 2.6.4 por el descubrimiento de una falsa versión 2.6.4 de WordPress.org que no es otra cosa que un troyano llamado Troj/WPHack-A.

La actualización para los que no cayeron en la trampa es muy simple, tan solo hay que sobreescribir los ficheros. Ya sabes, por si acaso haz copia de seguridad primero.

  • wp-includes/feed.php
  • wp-includes/version.php

Fuente: http://wordpress.org

Grave vulnerabilidad de WordPress 2.6.2. Actualización a 2.6.3.

Una nueva vulnerabilidad de WordPress ha sido descubierta en Snoopy, que puede ser explotada por personas maliciosas para comprometer un sistema vulnerable.

La actualización es altamente recomendable.

El problema

La entrada pasada a la funcion “_httpsrequest ()” no está debidamente saneada antes de ser utilizada en una llamada “exec ()”. Esto puede ser explotado para inyectar comandos de shell arbitrarios a través de una secuencia de comandos llamando a las funciones “fetch ()” o “submit ()” con una URL controlada por el atacante.

La solución

Hay dos soluciones, actualizar todo el WordPress o sustituyendo los siguientes archivos:

Post anterior y siguiente en WordPress

¿Tu theme no tiene enlaces para ir al post siguiente o al anterior?. Hay algunos themes que carecen de este enlace al post anterior o al posterior. A mi me parece que a los lectores de un blog hay que darles la oportunidad de moverse por los post de uno en uno, incluso puede haber algún lector de un blog que le puede interesar el tema que escribiste anteriormente.

Bueno, esto es muy simple ya que la función ya existe y solo hemos de colocarla donde queramos.

por ejemplo, en el single.php busca la linea que pone:

<?php edit_post_link(‘Editar’, ”, ”); ?><br />

Y añade debajo:

<b>Posts anterior y posterior:</b><br />
<div class=”alignleft”><?php previous_post_link(‘&laquo; %link’) ?></div>
<div class=”alignright”><?php next_post_link(‘%link &raquo;’) ?></div>

También puedes ponerla en el index.php o donde te parezca mejor.

Como mostrar u ocultar contenido según el usuario. WordPress

En ocasiones queremos que determinado texto solo sea visible para algunos usuarios en WordPress. Para ello hay que identificar el nivel otorgado al usuario y hacer una simple sentencia “if”.

En el caso de wordpress existen los siguientes niveles posibles:

  • Administrator: Level 10
  • Editor: Level 7
  • Author: Level 4
  • Contributor: Level 2
  • Subscriber: Level 0

Para entenderlo un poco mejor vamos a poner un ejemplo. Imagínate que tengo una función que me muestra el número de visitas que ha recibido un post pero solo quiero que esté visible para el Administrador del blog que tiene el nivel 10 según la tabla anterior.

La sentencia sería:

[php]



[/php]

De esta forma la función “the_views” solo se mostrará si el usuario que está leyendo el blog está logado y tiene el rol de administrador.

Esta sentencia puede ser introducida en cualquiera de los archivos de WordPress como pueden ser index.php, single.php, etc…