Funciones para WordPress

Email this to someoneShare on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

Quitar la barra de administración de WordPress

En otra ocasión ya vímos cómo cambiar de posición la barra de administración de WordPress, si lo que quieres es eliminar definitivamente la barra de administración, sólo tienes que pegar el siguiente código en el archivo functions.php:

wp_deregister_script('admin-bar');
wp_deregister_style('admin-bar');
remove_action('wp_footer','wp_admin_bar_render',1000);
remove_action('init', 'wp_admin_bar_init');

Deshabilitar trackbacks hacia artículos del propio blog

Los trackbacks son esos comentarios automatizados con un simple enlace que se utilizan para avisar a otros bloggers de que un artículo de ellos ha sido enlazado desde nuestro artículo. El problema con ellos se presenta cuando enlazas un artículo de tu mismo blog, entonces un trackback hacia ti mismo será mostrado en el artículo enlazado.

Para evitar esto, tienes que pegar el siguiente código en el archivo functions.php:


function disable_self_ping( &$links ) {
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, get_option( 'home' ) ) )
unset($links[$l]);
}
add_action( 'pre_ping', 'disable_self_ping' );

Hacer que tu artículo se vea mejor cuando se comparte en Facebook

El siguiente código se utiliza para que cuando un usuario comparte el artículo de tu blog en Facebook, se vea lo mejor posible, con su imagen relacionada o por defecto, enlace hacia web del autor, título, descripción, etc.

Sólo tienes que pegar el código en el archivo header.php de tu theme antes de la etiqueta <?php wp_head(); ?> :

<?php
$thumb = get_post_meta($post->ID,'_thumbnail_id',false);
$thumb = wp_get_attachment_image_src($thumb[0], false);
$thumb = $thumb[0];
?>

<?php if(is_single() || is_page()) { ?>
<meta property="og:type" content="article" />
<meta property="og:title"
content="<?php single_post_title(''); ?>" />
<meta property="og:description" content="<?php
while(have_posts()):the_post();
$out_excerpt = str_replace(array("rn", "r", "n"), "",
get_the_excerpt());
echo apply_filters('the_excerpt_rss', $out_excerpt);
endwhile; ?>" />
<meta property="og:url" content="<?php the_permalink(); ?>"/>
<meta property="og:image"
content="<?php if ( $thumb[0] == null )
{ echo catch_that_image(); } else { echo $thumb; } ?>" />
<?php } else { ?>
<meta property="og:type" content="article" />
<meta property="og:title" content="<?php bloginfo('name'); ?>" />
<meta property="og:url" content="<?php bloginfo('url'); ?>"/>
<meta property="og:description"
content="<?php bloginfo('description'); ?>" />
<meta property="og:image" content="<?php if
( $thumb[0] == null )
{ echo catch_that_image(); } else { echo $thumb; } ?>" />
<?php } ?>

Y después pegar el siguiente código en el archivo functions.php:

function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i',
$post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
$first_img = get_bloginfo('stylesheet_directory').
"/images/default_icon.jpg";
}
return $first_img;
}

Deshabilitar cambio de theme

Más que nada puede ser útil cuando realizas una instalación de un theme a un cliente o quieres asegurarte que el dueño final del WordPress no tenga tan sencillo el cambio de diseño en su blog. Para ello sólo tienes que pegar el siguiente código en el archivo functions.php:

add_action('admin_init', 'bloquear_theme');
function bloquear_theme() {
global $submenu, $userdata;
get_currentuserinfo();
if ($userdata->ID != 1) {
unset($submenu['themes.php'][5]);
unset($submenu['themes.php'][15]);
}
}

Mostrar imagen miniatura de cualquier sitio

WordPress.com tiene un servicio llamado mShots (también disponible en plugin), que te permite capturar una imagen en miniatura de cualquier sitio. El siguiente código crea un shortcode para que puedas agregarlo fácilmente a tus artículos. Sólo tienes que pegar el siguiente código en el archivo functions.php:

function wpr_snap($atts, $content = null) {
extract(shortcode_atts(array(
"snap" => 'http://s.wordpress.com/mshots/v1/',
"url" => 'http://blog.adpv.com',
"alt" => 'My image',
"w" => '500', // ancho
"h" => '350' // alto
), $atts));
$img = '<img src="' . $snap . '' . urlencode($url)
. '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>';
return $img;
}
add_shortcode("snap", "wpr_snap");

para añadir la imagen, donde quieras que se muestre en el artículo seguir el siguiente código cambiando los parámetros:

[snap url="http://blog.adpv.com" alt="Descripción" w="400" h="300"]

Sé la primera persona en comentar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

De conformidad con lo establecido en la LOPD, Adpv Advertising Provider S.L. garantiza la adopción de las medidas necesarias para asegurar el tratamiento confidencial de los datos de carácter personal. Así mismo le informamos de la inclusión de sus datos en un fichero con la finalidad de mantener su relación negocial o contractual con Adpv Advertising Provider S.L. y de la posibilidad de ejercer los derechos de acceso, rectificación, cancelación y oposición en la siguiente dirección: Ercilla, 26, 1Dcha., 48011, Bilbao, Bizkaia. Privacidad.