12 codigos utiles para el Desarrollo de WordPress

12 codigos para el desarrollo de wordpress

Despues de ver como Como hacer que aperezcan mis últimos post wordpress en mi web html donde presentabamos diferentes códigos.
Hoy os traemos una serie de 12 fragmentos de código o “hacks” que te ayudarán a ampliar las capacidades de tu WordPress sitio .

Personalice el logotipo de su página de inicio de sesión WordPress

Después de tener que visitar constantemente la página de entrada de WordPress, tener que ver el mismo logo y el diseño de una y otra vez puede ser un poco aburrido. Aquí es donde este truco es muy útil. Todo lo que tienes que hacer es colocar lo siguiente en su archivo functions.php  y vuelva a colocar la imagen.

function my_custom_login_logo() {
echo ‘<style type=”text/css”>
h1 a { background-image:url(‘.get_bloginfo(‘template_directory’).’/images/custom-login-logo.gif) !important; }
</style>’;
}

add_action(‘login_head’, ‘my_custom_login_logo’);

Detección de dispositivos móviles que acceden a su sitio

La navegación por Internet a traves del móvil sigue evolucionando a mayor escala. Esta es la razón por la detección de aquellos usuarios que están visitando un blog de WordPress a través de un dispositivo móvil y su reorientación a una versión móvil de su sitio es importante. Para lograr esto, primero tiene que obtener el código de detectmobilebrowsers.mobi y súbelo a tu directorio de temas.

Entonces, todo lo que simplemente tienes que hacer es abrir tu header.php archivo y el lugar siguiente en la parte superior del archivo. Recuerde que debe modificar la línea 5 para el lugar donde quiere redirigir los usuarios móviles.

include(‘mobile_device_detect.php’);
$mobile = mobile_device_detect();

if ($mobile==true) {
header( ‘Location: http://your-website.com/?theme=Your_Mobile_Theme’ ) ;
}

Cambiar automáticamente el tamaño Imágenes

Si estás acostumbrado a mostrar grandes cantidades de imágenes entsu blog, entonces sabes lo tedioso que puede ser tener que cambiar el tamaño de las imágenes siempre de forma manual. Ahora puedse utilizar este truco para cambiar el tamaño automáticamente cualquier imagen que desees a lo ancho y la altura que elijas para una mirada más organizada. Para ello, copia la siguiente secuencia de comandos y crear una carpeta para que en cualquier lugar de su sitio (es decir, secuencias de comandos) y el nombre “timthumb.php“. Ahora, puedes utilizar la sintaxis siguiente para agregar una imagen de tamaño automáticamente a tu entrada en el blog:

<img src=”/scripts/timthumb.php?src=/images/whatever.jpg&amp;h=150&amp;w=150&amp;zc=1″ alt=”” />

Viendo sus etiquetas en un menú desplegable

Las nubes de etiquetas son a menudo difíciles de leer, especialmente para un sitio muy ocupados. Elimina este problema mediante un menú desplegable para mostrar las etiquetas. Debe colocar el siguiente código en su functions.php archivo.

<?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 );
}
?>

Ahora, para finalizar el menú desplegable tienes que abrir el archivo de tema en el que desea la lista que se muestra (es decir, sidebar.php) e introducir el siguiente código:

<select name=”tag-dropdown” onchange=”document.location.href=this.options[this.selectedIndex].value;”>
<option value=”#”>Liste d’auteurs</option>
<?php dropdown_tag_cloud(‘number=0&order=asc’); ?>
</select>

Customizar “Leer más”

Este es un truco muy útil si desea definir mejor o personalizar el aspecto de su “Leer más” vínculos de puestos. Lo primero que tienes que hacer es editar sus mensajes y crear campos personalizados. Dales custom_more como clave y el texto que desee que se muestre como el valor. Entonces usted tiene que editar el index.php archivo (y también su category.php, search.php, etc) y encontrar una línea similar a esta:

the_content(“Read more”);

Ahora sólo tiene que reemplazarlo con este código:

<?php $custommore = get_post_meta($post->ID, ‘custom_more’, true); ?>
<?php if (!$custommore) { $custommore = ‘Read More &raquo;’; } ?>
<?php the_content($custommore); ?>

Programación de Puestos de RSS

Si publican regularmente artículos y usted se preocupa por la calidad de sus mensajes, este es un hack bueno para usted. El principal objetivo de este truco es que le permite programar sus puestos para ser visto en su RSS en un momento posterior, esto le dará tiempo suficiente para que las correcciones de último minuto y adiciones antes de su entrada es para siempre publicado en su alimentación. Coloque el siguiente código en su . htaccess archivo. Con el fin de cambiar la duración del retraso, cambie el valor de los $waitvariable en la línea 9.

function publish_later_on_feed($where) {
global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate(‘Y-m-d H:i:s’);

// value for wait; + device
$wait = ‘5’; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

// add SQL-sytax to default $where
$where .= ” AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait “;
}
return $where;
}

add_filter(‘posts_where’, ‘publish_later_on_feed’);

Permitir sólo su dirección IP para tener acceso al directorio wp-admin

Si no tienes múltiples autores o colaboradores en tu blog, a continuación, hablando en términos realistas sólo debes permitir visitar el directorio wp-admin. Sobre todo porque una gran cantidad de riesgos de seguridad supondrá la-admin directorio wp.Todo lo que tienes que hacer es introducir la dirección IP estática en la línea 8. Puedes agregar más direcciones IP si es necesario, mediante la creación de una nueva línea. Introducir en el . htaccess archivo.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “Example Access Control”
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT

Estilos parar sus comentarios WordPress

Cuando un blog tiene un montón de comentarios, entonces es una buena manera de conseguir a visitantes a interactuar más por un estilo la forma en sus comentarios se muestran. Si esto es lo que usted está buscando para que, a continuación, abra sucomments.php archivo y vuelva a colocar el bucle comentarios con el siguiente código:

<ol id=”commentlist”>
<?php foreach ($comments as $comment) : ?>
<?php // The extra stuff to get commenter’s role
$user_id = $comment->user_id;
$role = ( isset( $roles[$user_id] ) ? $roles[$user_id] : ” );
?>
<li class=”<?php echo $role; ?>”>
<p>By <?php comment_author_link() ?> – <?php comment_date() ?></p>
<?php comment_text() ?>
</li>
<?php endforeach; ?>
</ol>

Ahora a la estructura de tu comentario tendrá que abrir su archivo style.css y coloque el siguiente código:

#commentlist li { border:2px solid white; } /* not logged or subscriber */
#commentlist li.administrator { border:2px solid red } /* blog admin */
#commentlist li.editor { border:2px solid blue } /* editor */

Retire Áreas widget en su Página de Inicio

Si su sitio de WordPress potencia es más que un blog, entonces probablemente quiera deshacerse de las áreas widget en tu barra lateral defecto y crear uno propio. Este truco no requiere ningún tipo de edición, sólo la inserción de código. Ahora, todo lo que necesita hacer es añadir lo siguiente a su functions.php archivo:

<?php
add_filter( ‘sidebars_widgets’, ‘disable_all_widgets’ );

function disable_all_widgets( $sidebars_widgets ) {
if ( is_home() )
$sidebars_widgets = array( false );
return $sidebars_widgets;
}
?>

Inserte Autor Bio para cada puesto

Un escritor de blog de varios medios por lo general todo el que escribe o contribuye un puesto tendrá sección que habla sobre ellas. Si tu blog no tiene esta función, a continuación, empezar a dar sus autores el reconocimiento adecuado al insertar el siguiente código en su functions.php archivo. Un autor bio será automáticamente aparecerá en la parte final de cada post.

function get_author_bio ($content=”){
global $post;

$post_author_name=get_the_author_meta(“display_name”);
$post_author_description=get_the_author_meta(“description”);
$html=”<div class=’clearfix’ id=’about_author’>\n”;
$html.=”<img width=’80’ height=’80’ class=’avatar’ src=’http://www.gravatar.com/avatar.php?gravatar_id=”.md5(get_the_author_email()). “&default=”.urlencode($GLOBALS[‘defaultgravatar’]).”&size=80&r=PG’ alt=’PG’/>\n”;
$html.=”<div class=’author_text’>\n”;
$html.=”<h4>Author: “.$post_author_name.”</h4>\n”;
$html.= $post_author_description.”\n”;
$html.=”</div>\n”;
$html.=”<div class=’clear’></div>\n”;
$content .= $html;
}

return $content;
}

add_filter(‘the_content’, ‘get_author_bio’);

Impida que se muestren algunas categorias

Coloca este código dentro de The Loop y cualquiera que sea la categoría que elija, no se mostrará. Esto puede ser un truco interesante para aquellos que sólo desean mostrar una determinada categoría de elegidos o usuarios registrados.

<?php
if ( have_posts() ) : query_posts($query_string .’&cat=-1,-2′); while ( have_posts() ) : the_post();
?>

Redirigir tu fuente de WordPress a FeedBurner

Si has descubierto la utilidad de FeedBurner es realmente una vez que haya configurado el sitio de WordPress, y tienes unos pocos suscriptores RSS feed de su WordPress por defecto, entonces tendrá que reorientar su feed a FeedBurner. Cada vez que un usuario sigue un enlace a tu fuente por defecto (es decir, http://www.yourblog.com/feed) que va a ser redirigido a la ubicación de tu feed de FeedBurner (es decir, http://feeds.feedburner.com/yourblog) . De esta manera, incluso si un usuario consigue alguna manera de suscribirse a su feed RSS de edad, que siempre va a ser redirigido a su nuevo feed. Coloque el siguiente código en su . htaccess archivo.

# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/WebDesignLedger [R=302,NC,L]
</IfModule>