Archivado como WordPress

Recursos, plugins, themes, traducciones y tutoriales wordpress.

WordPress MU 2.9.2 – Adiós WordPress MU

Donncha anunció la disponibilidad la versión 2.9.2 de WordPress MU, con solución a todos los fallos encontrados desde la última actualización. Esta versión, salvo necesidad, será la última versión de WordPress MU, ahora que WordPress 3.0 integrará ambas plataformas, ofreciendo la posibilidad de montar sistemas multiusuario a voluntad.

WordPress: Protege tu blog de solicitudes de URL maliciosas

Crea un archivo de nombre blockbadqueries.php y copia el siguiente código:

<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID; if($user_ID) {
  if(!current_user_can('level_10')) {
    if (strlen($_SERVER['REQUEST_URI']) > 255 ||
      strpos($_SERVER['REQUEST_URI'], "eval(") ||
      strpos($_SERVER['REQUEST_URI'], "CONCAT") ||
      strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
      strpos($_SERVER['REQUEST_URI'], "base64")) {
        @header("HTTP/1.1 414 Request-URI Too Long");
	@header("Status: 414 Request-URI Too Long");
	@header("Connection: Close");
	@exit;
    }
  }
}
?>

Luego sube el archivo al directorio wp-content/plugins y activa el plugin.

Fuente: WordPress plugin: Protect your blog from malicious URL Requests

Visualizador de PDFs mediante shortcode

Si quieres aprovechar el visualizador de Google Docs, y cargar tus propios PDF, alojados en tu servidor, sin tener que subirlos a Google Docs, puedes hacerlo creando un shortcode que use esta funcionalidad.

Para ello solo tienes que hacer lo siguiente:

  • Añade este código al archivo functions.php de tu tema activo:
          function pdflink($attr, $content) {
              return '<a class="pdf" href="http://docs.google.com/viewer?url=' . $attr['href'] . '">'.$content.'</a>';
          }
          add_shortcode('pdf', 'pdflink');
  • Usa el shortcode recién creado para cargar tus pdf de este modo:
    [pdf href="http://tusitio.com/documentos/midocumento.pdf"]Enlace directo al PDF[/pdf]

WordPress: actualización 2.9.2

Se recomienda actualizar WordPress a la versión 2.9.2. Elimina el problema en el que un usuario registrado como autor, pueda ver los artículos en papelera de otros.

Fuente: WordPress Blog

WordPress: Cómo eliminar el “privado” y “protegido” del título de la entrada

Cada vez que se define una entrada específica sea como privada o protegida por contraseña, WordPress agrega automáticamente “privado” o “protegida” al título de la entrada. Para eliminarlo, solo debe agregar el siguiente código al archivo functions.php:

function the_title_trim($title) {
	$title = attribute_escape($title);
	$findthese = array(
		'#Protected:#',
		'#Private:#'
	);
	$replacewith = array(
		'', // What to replace "Protected:" with
		'' // What to replace "Private:" with
	);
	$title = preg_replace($findthese, $replacewith, $title);
	return $title;
}
add_filter('the_title', 'the_title_trim');

Fuente: wprecipes

WordPress para iPhone 2.2

Ya está disponible la nueva versión de WordPress para iPhone con 3 importantes mejoras:

  • Responder a comentarios
  • Edición de comentarios
  • Resaltado de comentarios pendientes
WordPress para iPhoneWordPress para iPhoneWordPress para iPhoneWordPress para iPhoneWordPress para iPhoneWordPress para iPhone

Redimensionar imágenes

Agregar el siguiente código al archivo functions.php de tú theme.

function replace_uploaded_image($image_data) {
    // if there is no large image : return
    if (!isset($image_data['sizes']['large'])) return $image_data;
 
    // paths to the uploaded image and the large image
    $upload_dir = wp_upload_dir();
    $uploaded_image_location = $upload_dir['basedir'] . '/' .$image_data['file'];
    $large_image_location = $upload_dir['path'] . '/'.$image_data['sizes']['large']['file'];
 
    // delete the uploaded image
    unlink($uploaded_image_location);
 
    // rename the large image
    rename($large_image_location,$uploaded_image_location);
 
    // update image metadata and return them
    $image_data['width'] = $image_data['sizes']['large']['width'];
    $image_data['height'] = $image_data['sizes']['large']['height'];
    unset($image_data['sizes']['large']);
 
    return $image_data;
}
add_filter('wp_generate_attachment_metadata','replace_uploaded_image');

Cómo eliminar automáticamente el nofollow de sus post

Copia el siguiente código y pégalo en el archivo functions.php de tu tema. Una vez que guardes el archivo de archivo, el atributo rel = "nofollow" será eliminado.

function remove_nofollow($string) {
	$string = str_ireplace(' rel="nofollow"', '', $string);
	return $string;
}
add_filter('the_content', 'remove_nofollow');

Vía: WpRecipes

Rechazar automáticamente los comentarios spam en tu blog WordPress

Agrega el siguiente código a tu archivo functions.php

function in_comment_post_like($string, $array) {
	foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
	return false;
}
function drop_bad_comments() {
	if (!empty($_POST['comment'])) {
		$post_comment_content = $_POST['comment'];
		$lower_case_comment = strtolower($_POST['comment']);
		$bad_comment_content = array(
			'viagra',
			'hydrocodone',
			'hair loss',
			'[url=http',
			'[link=http',
			'xanax',
			'tramadol',
			'russian girls',
			'russian brides',
			'lorazepam',
			'adderall',
			'dexadrine',
			'no prescription',
			'oxycontin',
			'without a prescription',
			'sex pics',
			'family incest',
			'online casinos',
			'online dating',
			'cialis',
			'best forex',
			'amoxicillin'
		);
		if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
			$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n  ", true);
			$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
			fwrite($txtdrop, "  --------------\n  [COMMENT] = " . $post_comment_content . "\n  --------------\n");
			fwrite($txtdrop, "  [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n");
			fwrite($txtdrop, "  [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "\n");
			fwrite($txtdrop, "  [REFERER  ] = " . $_SERVER['HTTP_REFERER'] . "\n");
			fwrite($txtdrop, "  [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "\n");
			fwrite($txtdrop, '--------------**********------------------'."\n");
			header("HTTP/1.1 406 Not Acceptable");
			header("Status: 406 Not Acceptable");
			header("Connection: Close");
			wp_die( __('bang bang.') );
		}
	}
}
add_action('init', 'drop_bad_comments');

Nota: Si usas el plugin Antivirus, la siguiente línea de código se va a mostrar como sospechosa:

$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');

Vía: WpRecipes

¿Cómo usar jQuery 1.4 en WordPress?

Copia el siguiente código en tu archivo functions.php

if( !is_admin()){
   wp_deregister_script('jquery');
   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false, '');
   wp_enqueue_script('jquery');
}

Vía: Sean Hayes