Nuestro escritorio nos da un mensaje cada vez que una nueva versión de WordPress es lanzada, con tal de que actualicemos la nuestra y estemos preparados para protegernos de los últimas vulnerabilidades o bugs que WP haya podido sufrir.

Sin embargo, cuando el site que gestionamos pertenece a un amigo / familiar / cliente, a veces podemos considerar que será mejor que no interactúe con el sistema de actualizaciones, del que nos encargaríamos por nuestra cuenta al saber que una nueva versión está disponible.

Para desactivar la alerta de upgrade, abriremos functions.php y pegaremos el siguiente código:

if (!current_user_can('edit_users')) {
  add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
  add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}

El código deberá quedar entre los tags de apertura y cierre de php, como siempre.

Leer más »

Etiquetas:

Podemos fácilmente imaginar un site donde sean los usuarios quienes escriban el contenido, para crear una red asociativa de noticias de cualquier tipo: música, cine, literatura, motor…

De nuevo, WordPress nos ofrece una solución para ello, a través de un sólido plugin llamado TDO Mini Forms.

Éste es el aspecto que tiene el proceso de la creación del formulario, en la pantalla de Opciones que el plugin ofrece :

Ejemplo de la creación del formulario

Leer más »

He preparado un screencast sobre un plugin llamando Instant Weekly Roundup, que permite agrupar vuestros artículos ya publicados por semanas, meses y/o categorías. Lo mejor es que veáis cómo funciona en el siguiente vídeo:


¿Qué os ha parecido el plugin?

Un bookmarklet es un pequeño código de JavaScript que se puede colocar en tus favoritos o, preferiblemente, en la barra de marcadores de tu navegador. Se encarga de ejecutar ciertas acciones útiles. Hay muchos y de muy diverso tipo, una simple búsqueda os llevará a más sitios. Pero os quiero hablar de un bookmarklet que he descubierto hace poco (vía ThinkWasabi) y que incorpora una serie de utilidades de Wordpress, CSS y PHP que nos pueden resultar muy útiles, tanto para desarrollar como para configurar nuestro tema.

El bookmarklet en cuestión se llama Quix, y lo podéis instalar arrastrando y soltando este enlace en vuestra barra de marcadores. Una vez allí, al pulsarlo aparecerá una ventana para escribir comandos. Si queréis ver todos los disponibles basta con escribir help.
Leer más »

Lo más importante en el mundo de los blogs son tus lectores. Todo lo que se haga es poco para que se interesen por tu contenido y para que les guste tu blog, cómo y qué escribes. Por tanto, un aspecto fundamental sobre el que tienes que trabajar son los comentarios. Al principio serán pocos, y puede que no se note mucha participación, y esto dependerá mucho del tipo de post que se escriba. En cualquier caso siempre hay que tratar que tu blog sea comment-friendly, y que fomente la participación o la haga lo más fácil posible.

¿Cómo puedes tener tu WP preparado y a punto para cuando lleguen los comentarios? ¿Qué plugins deberías tener instalados para hacer que comentar sea más sencillo y atractivo a tus lectores? ¿Cómo sacar partido a los comentarios para crear lectores fieles?
Leer más »

Hace un par de semanas hablábamos sobre ¿Cómo saber si nuestro blog está hackeado? y descubrimos diferentes formas, manuales y automáticas, para saber si nuestro blog había sufrido algún tipo de inyección de código malicioso sin nosotros saberlo. Ahora toca ver qué hacer si hemos detectado dicho ataque.

¿Qué hago si ya he detectado que tengo inyección de código?
Lo primero que deberíamos hacer es asegurarnos que el usuario malicioso no ha accedido a nuestro blog usando nuestro usuario de administración. Lo mejor que podemos hacer (tras repasar los consejos de seguridad) es cambiar nuestras contraseñas. Seguidamente, actualizaremos (si no lo tenemos) el WordPress a su última versión.

Tras las comprobaciones iniciales, deberemos eliminar el código de nuestra página web. Es muy probable que el usuario malintencionado sólo haya modificado los archivos de nuestra plantilla, así que lo mejor que podemos hacer es abrir nuestro theme con el editor que nos proporciona WordPress y revisar todos los archivos por si vemos algún texto raro. Habitualmente, se repetirá el mismo texto en casi todos los archivos y casi siempre estará ubicado en la parte final de nuestro archivo. Sólo tenemos que borrar dicho código (¡sin borrar nada más!) y ya tendremos nuestra página arreglada.

Leer más »

A veces nos puede gustar la idea de que ciertos artículos, por ejemplo aquellos con un determinado campo personalizado que les hayamos añadido, enlacen directamente a un site externo al nuestro (en vez de ir a la pantalla de texto completo).

Para ello, tendremos que abrir functions.php y pegar allí el siguiente código:

function print_post_title() {
	global $post;
	$thePostID = $post->ID;
	$post_id = get_post($thePostID);
	$title = $post_id->post_title;
	$perm = get_permalink($post_id);
	$post_keys = array(); $post_val = array();
	$post_keys = get_post_custom_keys($thePostID);

	if (!empty($post_keys)) {
		foreach ($post_keys as $pkey) {
			if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {
			$post_val = get_post_custom_values($pkey);
			}
		}
		if (empty($post_val)) {
			$link = $perm;
		} else {
			$link = $post_val[0];
		}

	} else {
		$link = $perm;
	}
	echo '<h2><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></h2>';
}

Leer más »

Etiquetas: ,

Hay muchas formas de utilizar WordPress para tu empresa, así que hoy empiezo una serie de posts centrados en la parte más profesional de este sistema de gestión de contenido. Debo decir, no obstante, que son consejos que pueden ayudar a todo el mundo, ya que explicaré diferentes funciones de WordPress o plugins interesantes.

Hay muchas empresas que quieren tener una página web sencilla y fácil de gestionar, pero quieren que su web no sea “sólo un blog“. Aún así, WordPress puede ayudarnos, ya que podemos aprovechar toda su potente arquitectura para hacer una página más o menos estática de contenido. Lo esencial en estos casos es escoger una plantilla (theme) que nos guste suficientemente; para encontrarla, sólo tienes que buscar por Internet, hay miles y miles de ellas.

Leer más »

Si no tenemos un número excesivo de etiquetas y las quisiéramos desplegar en una lista, aquí tenemos el código para realizarlo.

Primero, iremos a functions.php o lo crearemos como simple archivo de texto y pegaremos en su interior el siguiente código:

<?php
function dropdown_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => ''
);
$args = wp_parse_args( $args, $defaults );

$tags = get_tags( array_merge($args, array('orderby' => 'count', 'order' => 'DESC')) ); // Always query top tags

if ( empty($tags) )
return;

$return = dropdown_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args
if ( is_wp_error( $return ) )
return false;
else
echo apply_filters( 'dropdown_tag_cloud', $return, $args );
}

function dropdown_generate_tag_cloud( $tags, $args = '' ) {
global $wp_rewrite;
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC'
);
$args = wp_parse_args( $args, $defaults );
extract($args);

if ( !$tags )
return;
$counts = $tag_links = array();
foreach ( (array) $tags as $tag ) {
$counts[$tag->name] = $tag->count;
$tag_links[$tag->name] = get_tag_link( $tag->term_id );
if ( is_wp_error( $tag_links[$tag->name] ) )
return $tag_links[$tag->name];
$tag_ids[$tag->name] = $tag->term_id;
}

$min_count = min($counts);
$spread = max($counts) - $min_count;
if ( $spread <= 0 )
$spread = 1;
$font_spread = $largest - $smallest;
if ( $font_spread <= 0 )
$font_spread = 1;
$font_step = $font_spread / $spread;

// SQL cannot save you; this is a second (potentially different) sort on a subset of data.
if ( 'name' == $orderby )
uksort($counts, 'strnatcasecmp');
else
asort($counts);

if ( 'DESC' == $order )
$counts = array_reverse( $counts, true );

$a = array();

$rel = ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) ? ' rel="tag"' : '';

foreach ( $counts as $tag => $count ) {
$tag_id = $tag_ids[$tag];
$tag_link = clean_url($tag_links[$tag]);
$tag = str_replace(' ', '&nbsp;', wp_specialchars( $tag ));
$a[] = "\t<option value='$tag_link'>$tag ($count)</option>";
}

switch ( $format ) :
case 'array' :
$return =& $a;
break;
case 'list' :
$return = "<ul class='wp-tag-cloud'>\n\t<li>";
$return .= join("</li>\n\t<li>", $a);
$return .= "</li>\n</ul>\n";
break;
default :
$return = join("\n", $a);
break;
endswitch;

return apply_filters( 'dropdown_generate_tag_cloud', $return, $tags, $args );
}
?>

Acto seguido, iremos al template en el que nos interese insertar la lista desplegable y, orientándonos entre el HTML, pegaremos el siguiente código:

<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="#">Tags</option>
<?php dropdown_tag_cloud('number=0&order=asc'); ?>
</select>

Nuestros tags seran ahora mostradis en un desplegable.

Etiquetas: ,

Al fin, con WordPress 2.9 se nos ha hecho mucho más fácil indicar, mientras escribimos, cuál será la miniatura (o thumbnail) que representará al artículo en cuestión.

Para ello, colaremos este código en functions.php (al final de todo):

<?php
add_theme_support( 'post-thumbnails' );
?>

Ahora podremos, desde la Administración, subir y asignar una imagen cuya función exclusiva será la de ‘representar’ al post, e “imprimirse” por tanto en nuestros templates, al lado del texto del artículo (pero independientemente de éste).

Leer más »

Página 1 de 301234567...Última »