¿ 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" ); } }
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
Otras partes de este post,