Modificaciones de WordPress y trucos para blogueros curiosos (II).

trucos de Wordpress

 

¿ Necesitas hacer modificaciones de WordPress y adaptarlo a tu gusto o necesidades?

En este segundo post te mostraré algunos trucos y códigos necesarios que te permitirán hacer las modificaciones de  WordPress a tus necesidades sin tener que instalar decenas de plugins. Pequeños scripts y códigos para blogueros curiosos e interesados en el mínimo detalle.

Antes de empezar, y como algo MUY IMPORTANTE, debes crear un tema hijo de WordPress para poder modificar todo el código y no perder dichas modificaciones tras una actualización de tu tema. Aqui te explico cómo hacerlo.

Y ahora si, empezamos!

[toc]

 

Fecha de copyright dinámica en el pie de página de WordPress

Esta función generará una fecha de copyright dinámica basada en la fecha de publicación de su publicación más antigua y su publicación más reciente. Si es el primer año de su sitio, esta función solo mostrará el año actual.

Para implementar esta fecha dinámica de copyright en tu pie de página de WordPress, abre el archivo functions.php de tu tema y agrega el siguiente código:

Puede usar este código para agregar una fecha de copyright dinámica en el pie de página de WordPress.

function web_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}

 

Después de agregar esta función, deberá abrir su archivo footer.php y agregar el siguiente código donde quiera que se muestre la fecha dinámica de copyright:

<?php echo web_copyright() ; ?>

Esta función agregará el siguiente texto:

© 2009 – 2016

No mantenga sus fechas de copyright desactualizadas. Aproveche esta técnica en sus sitios actuales y futuros de WordPress.

 

Cambiar la longitud del extracto en WordPress

WordPress limita la longitud del extracto a 55 palabras. Si necesita cambiar eso, puede agregar este código a su archivo functions.php.

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Cambie 100 por la cantidad de palabras que desea mostrar en los extractos.

 

Mostrar el número total de usuarios registrados en WordPress

¿Desea mostrar el número total de usuarios registrados en su sitio de WordPress? Simplemente agregue este código al archivo de funciones de su tema.

// Function to return user count
function wpb_user_count() { 
$usercount = count_users();
$result = $usercount['total_users']; 
return $result; 
} 
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Este código crea un shortcode que le permite mostrar el número total de usuarios registrados en su sitio. Ahora solo necesita agregar este shortcode  [user_count] a su publicación o página donde desea mostrar el número total de usuarios.

 

Crear roles de usuario personalizados.

WordPress proporciona las siguientes funciones de usuario de forma predeterminada: administrador, editor, autor, colaborador y suscriptor. Sin embargo, a veces, es posible que deba asignar algunas funciones de usuario personalizadas.

Por ejemplo, si desea proporcionar una opción para editar las páginas solo a un nuevo usuario, aquí le mostramos cómo hacerlo:

Agregue las siguientes líneas al archivo functions.php . Puede cambiar la disponibilidad de varias funciones estableciendo la configuración adecuada en verdadero o falso.

// Agregar un rol de usuario personalizado

$result = add_role ('new', __ ('New'),

array(
'read' => true, // true permite esta capacidad
'edit_posts' => false, // Permite o no al usuario editar sus propias publicaciones
'edit_pages' => true, // Permite o no al usuario editar páginas
'edit_others_posts' => false, // Permite o no al usuario editar otras publicaciones no solo las suyas
'create_posts' => false, // Permite o no al usuario crear nuevas publicaciones
'manage_categories' => false, // Permite o no al usuario administrar categorías de publicaciones
'publishing_posts' => false, // Permite o no al usuario publicar, de lo contrario, las publicaciones permanecen en modo borrador
'edit_themes' => false, // El usuario puede o no editar tu tema
'install_plugins' => false, // El usuario puede o no agregar nuevos complementos
'update_plugin' => false, // El usuario puede o no actualizar ningún complemento
'update_core' => false // el usuario puede o no realizar actualizaciones principales
)
); 

 

Deshabilitar la barra de administración excepto para administrador

Agregue el siguiente fragmento al archivo funcions.php para deshabilitar el acceso a la barra de administración a usuarios que no sean administradores.

add_action('after_setup_theme', 'remove_admin_bar');

function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
  show_admin_bar(false);
}
}

 

Añadir imágenes destacadas en el dashboard de WordPress

 

Imagen destacada necesaria para publicar una publicación de blog.

Ajuste su archivo de functions.php para que las imágenes destacadas sean obligatorias para publicar publicaciones de blog.

add_action('save_post', 'wpds_check_thumbnail');

add_action('admin_notices', 'wpds_thumbnail_error');
 

function wpds_check_thumbnail( $post_id ) {
 // cambia a cualquier tipo de publicación personalizada

  if( get_post_type($post_id) != 'post' )
      return; 

  if ( ! has_post_thumbnail( $post_id ) ) {
  // establece un transitorio para mostrar a los usuarios un mensaje de administrador
    set_transient( "has_post_thumbnail", "no" );

   // desengancha esta función para que no se repita infinitamente
    remove_action('save_post', 'wpds_check_thumbnail');

  // actualiza la publicación, configúrala como borrador
    wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); 

    add_action('save_post', 'wpds_check_thumbnail');

  } else {

    delete_transient( "has_post_thumbnail" );

  }

} 

function wpds_thumbnail_error() {

// verifica si el transitorio está configurado y muestra el mensaje de error
  if ( get_transient( "has_post_thumbnail" ) == "no" ) {

    echo "<div id='message' class='error'><p><strong>Debe agregar una imagen destacada antes de publicar esto. No entre en pánico, su publicación se guarda. </strong></p></div>";

    delete_transient( "has_post_thumbnail" );

  }
}

En el caso de que ya tengas publicados muchos posts y quieras ver si todos ellos tienen sus imágenes destacadas, en este post te explico cómo mostrar dichas imágenes de cada post desde el dashboard de WordPress.

 

 

Agregar cuadro de confirmación al publicar páginas y posts.

Este truco evita publicar una publicación incompleta por accidente. Puede agregar el siguiente fragmento, como de costumbre al archivo functions.php

add_action( 'admin_print_footer_scripts', 'sr_publish_molly_guard' );

function sr_publish_molly_guard() {
echo "
<script>
jQuery(document).ready(function($){
$('#publishing-action input[name=\"publish\"]').click(function() {
if(confirm('¿Publicar este contenido?')) {
return true;
} else {
$('#publishing-action .spinner').hide();
$('#publishing-action img').hide();
$(this).removeClass('button-primary-disabled');
return false;
}
});
});
</script>
";
}

 

Agregue información de perfil social en la página de perfil de usuario

De manera predeterminada, la página de perfil de usuario en el tablero tiene campos para agregar la información de contacto, incluidos AIM, Yahoo IM, Jabber / Google Talk, etc. Abra el archivo functions.php  y agregue el siguiente fragmento para agregar más campos de redes sociales en la página de perfil de usuario .

function my_new_contactmethods( $contactmethods ) {

// Add Twitter
$contactmethods['twitter'] = 'Twitter';

//add Facebook
$contactmethods['facebook'] = 'Facebook';

return $contactmethods;
}

add_filter('user_contactmethods','my_new_contactmethods',10,1);

Puede usar el siguiente código en el archivo author.php para mostrarlo.

echo $curauth-> twitter;

 

Bloquear directorios usando robots.txt

Restrinja los motores de búsqueda del rastreo al directorio raíz agregando el fragmento de código a continuación al archivo robots.txt.

User-agent: *

Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: /category/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: /*?

Allow: /wp-content/uploads/

 

Agregue tipos de archivos adicionales para cargar en WordPress

Por defecto, WordPress le permite cargar una cantidad limitada de los tipos de archivos más utilizados. Sin embargo, puede extenderlo para permitir otros tipos de archivos. Agregue este código al archivo de funciones de su tema:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Este código le permite cargar archivos SVG y PSD a WordPress. Tendrá que buscar  los tipos MIME para los tipos de archivos que desea permitir y luego usarlos en el código

Lista de MIME TYPES

 

Otras partes de este post,

Compartir esta entrada.

Deja una respuesta

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

CAPTCHA ImageChange Image