Los Extraordinariamente Útiles Hacks de WordPress Que Probablemente No Ha Usado Aún

26

Ahora, a pesar de que WordPress se haya vuelto "cotidiano", por el hecho de que cada segundo o tercer sitio web con el que te encuentras funciona con WordPress, siempre está el frecuente "¡cómo diablos hicieron esto!" momentos en los que se desplaza por el reino de WordPress.

A pesar de que WordPress es tan perseguido por la comunidad de desarrollo web, nunca ha dejado de llevar algunos trucos increíbles y sorpresas bajo la manga. Si bien hay un conjunto completo de complementos que nunca fallan en llevar la funcionalidad de un sitio web de WordPress más allá de los valores predeterminados y logran permitir que los webmasters den forma a su sitio web exactamente de la misma manera que ellos quieren, son los WordPress Hacks los que verdaderamente brindan a los webmasters una personalización. capacidad de los gustos que no se puede lograr con ningún complemento en absoluto.

Los hacks de WordPress están estableciendo un punto de apoyo sólido y ganando mucho terreno a medida que los webmasters que no son programadores buscan la ayuda de algunos desarrolladores web para inyectar algunas funciones en su sitio web que realmente los ayudarían a mejorar su funcionalidad y lo llevarían más allá de sus pares. Sin embargo, estamos facilitando su trabajo al ofrecerle algunos fragmentos de código que necesitaría (y desearía) para que su sitio web avance en la dirección que desea.

La siguiente lista trata sobre los trucos que puede implementar en su sitio web para que pueda presumir de capacidades personalizadas excepcionales y características que parecen bastante improbables de otra manera.

1 Habilitación de códigos cortos en widgets

Los widgets nunca dejan de darle a nuestro sitio web esa ventaja que siempre buscamos. Forman una parte indispensable de casi todos los sitios web de WordPress y, por lo tanto, una forma de mejorar su apariencia o sus características siempre es bienvenida, y eso es exactamente lo que deben hacer los códigos cortos. Usa un filtro para lo mismo:

add_filter( 'widget_text', 'do_shortcode' );
2 Hacer más visible la navegación superior

El menú en la barra de navegación superior de su sitio web probablemente se pueda ignorar, simplemente por su posición. Y es por eso que necesita moverlo y aquí es donde moverlo ayudará:

#top-nav {float: right;}
3 Mueve el menú de Navegación al Centro (Código cortesía: GitHub)

Existe la posibilidad de que haya decidido realinear su logotipo para colocarlo en el centro del encabezado, por lo que deberá mover el menú de navegación al centro para que no se vea fuera de lugar. Y así es como lo haces:

#navigation {
     position: relative;
}
 #main-nav {
     clear: left;
     float: left;
     list-style: none;
     margin: 0;
     padding: 0;
     position: relative;
     left: 50%;
     text-align: center;
}
 .nav li {
     display: block;
     float: left;
     list-style: none;
     margin: 0;
     padding: 0;
     position: relative;
     right: 50%;
}
 .nav li.hover, .nav li.hover {
     position: relative;
}
  
.nav li ul li {
     left: 0;
4 Retrasar la publicación de su publicación en las fuentes RSS

No es raro cometer errores al escribir una publicación, pero cuando las publicaciones ya se enviaron a RSS, los errores menores pueden resultar bastante costosos. Y aquí es cuando retrasar el proceso viene al rescate.

Ahora, puede asegurarse de que las publicaciones no vayan a la fuente RSS tan pronto como las publique en su blog. Todo lo que necesita hacer es agregar este fragmento de código al archivo functions.php en el backend de su sitio web:

function publish_later_on_feed($where) {
global $wpdb;
if (is_feed()) {
$time_now = gmdate('Y-m-d H:i:s');
$time_delay = '15'; // integer
$time_span = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$where = " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$time_now') > $time_delay ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
5 ¿Ya no quieres los avatares circulares? Hazlos Cuadrados

El tema que ha elegido para su sitio web de WordPress puede estar modificando automáticamente las imágenes del avatar para presentarlas en forma circular. Pero muchos webmaster prefieren que sus avatares se muestren en forma cuadrada. Por lo mismo, este código de GitHub funciona excepcionalmente bien:

#post-author .profile-image img, #comments .avatar img {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
}
6 Deje que su fuente RSS contenga la imagen destacada de la publicación

El uso de imágenes en sus publicaciones siempre le da un empujón adicional entre su audiencia y los convence para leer y compartir más entre sus círculos. Y cuando puede usar la imagen destacada de la publicación en sus fuentes RSS, mejora aún más el alcance de la publicación haciéndola visualmente más atractiva:

add_filter('the_content_feed', 'rss_post_thumbnail');
function rss_post_thumbnail($content) {
global $post;
if( has_post_thumbnail($post->ID)) $content = '<p>'. get_the_post_thumbnail($post->ID, 'thumbnail'). '</p>'. $content;
return $content;
}
7 Eliminar el título de una página en particular

Si bien existen herramientas que facilitan la eliminación de títulos de todas las páginas del sitio, a veces, solo desea eliminarlos de páginas particulares. Y aquí está el código que necesita para eso: simplemente reemplace "abcd" con el número de identificación de la página para cualquier publicación:

.page-id-xxxx .title {
display: none;
}
8 ¿No quieres HTML en los comentarios? Continúe y desactívelo

El HTML en la sección de comentarios puede generar una gran cantidad de spam, lo que eventualmente podría tener serias repercusiones en su sitio web. Y es por eso que deshabilitar el HTML en la sección de comentarios es tan importante para mantener su sitio web libre de spam. Para hacerlo, agregue este fragmento de código en el archivo functions.php:

//As soon as someone comments
function plc_comment_post( $incoming_comment) {
    // convert everything in a comment to display literally
    $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
    // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
    $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
    return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display) {
    // Put the single quotes back in
    $comment_to_display = str_replace( ''', "'", $comment_to_display );
    return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1 );
add_filter( 'comment_text', 'plc_comment_display', '', 1 );
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1 );
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1 );
// This stops WordPress from trying to automatically make hyperlinks on text:
remove_filter( 'comment_text', 'make_clickable', 9 );
9 Cuando un usuario busque una determinada publicación en su sitio, simplemente llévelo directamente a la publicación completa

Es posible que no lo hayas considerado demasiado necesario, pero si los usuarios que buscan publicaciones específicas acceden directamente a la publicación completa en lugar de a una vista en miniatura con un extracto, lo agradecerán. No les obliga a seguir navegando y, por lo tanto, mejora considerablemente la experiencia del usuario.

add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
    if (is_search()) {
        global $ks29so_query;
        if ($ks29so_query->post_count == 1 && $ks29so_query->max_num_pages == 1) {
            ks29so_redirect( get_permalink( $ks29so_query->posts['0']->ID) );
            exit;
        }
    }
}
10 Mostrar la fecha de copyright más precisa y actual

Los derechos de autor son una parte indispensable de cualquier sitio web que contenga una gran cantidad de información útil que el webmaster no desea que los otros generadores de aleatorización de la web copien. Esta es la razón por la que es importante mostrar la información de derechos de autor de forma precisa y sincronizada con el año en curso. El siguiente fragmento de código le permite actualizar constantemente la información de derechos de autor automáticamente:

function comicpress_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;
}
11 Redirigir a los usuarios después de iniciar sesión

Una vez que cualquier usuario inicia sesión en su sitio, él o ella pueden ser redirigidos fácilmente a otra URL de su elección. Todo lo que necesita es este fragmento de código en el archivo functions.php:

<?php function redirect_user_on_role() { //retrieve current user info global $current_user; get_currentuserinfo(); //If login user role is Subscriber if ($current_user->user_level == 0)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Contributor
else if ($current_user->user_level > 1)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Editor
else if ($current_user->user_level >8)
{
ks29so_redirect( home_url() ); exit;
}
// For other roles
else
{
$redirect_to = 'http://google.com/';
return $redirect_to;
}
}
add_action('admin_init','redirect_user_on_role');
 
?>
12 Deje que el encabezado muestre algunos widgets personalizados

El encabezado de su sitio web es una excelente área publicitaria donde puede mostrar anuncios realmente notables. Sin embargo, una cosa común que se observa es que los administradores del sitio no tienen mucho control sobre cómo desean mostrar los elementos en el encabezado y esto conduce a la falta de flexibilidad.

Lo que el administrador quiere es la capacidad de personalización que le permita agregar lo que quiera a la derecha del logotipo, y las siguientes líneas de código les permiten hacer exactamente eso:

if (function_exists('register_sidebar')) {
register_sidebar(array(
 'name' => 'Header Widget',
 'id' => 'header-widget',
 'description' => 'This is a widgetized area in the right side of the header.',
 'before_widget' => '<div id="%1$s" div class="widget">',
 'after_widget' => '</div>',
 'before_title' => '<h3>',
 'after_title' => '</h3>'
 ));
add_action( 'woo_header_inside', 'custom_canvas_header' );
function custom_canvas_header() {
?>
<div id="header-widget">
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('header-widget')): else: ?>
<?php endif; ?>
</div>
<?php
}
}
13 Dale a Dashboard un logotipo personalizado

Muchos webmasters compiten por tener un logotipo más personalizado para su tablero en el backend de WordPress. El siguiente código sirve para este propósito, incluso cuando es el cliente el que ha venido a usted con este tipo de solicitud:

add_action('admin_head', 'custom_logo');
function custom_logo() {
echo '
<style type="text/css"><!--
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.webp) !important; }
--></style>';
}
14 Establezca el editor que desee como predeterminado

Es posible que no esté muy interesado en usar el Editor visual y, en cambio, es el Editor HTML el que le ha llamado la atención. Bueno, de cualquier manera, tienes la libertad de elegir qué editor deseas establecer como predeterminado:

# Visual Editor as default
add_filter( 'ks29so_default_editor', create_function('', 'return "tinymce";') );
 
# HTML Editor as default
add_filter( 'ks29so_default_editor', create_function('', 'return "html";') );
15. Cast Away the Primary or Top Navigation
Canvas, in particular, has two navigation bars. One navigation bar is located above the header and it is thereby called the Top Navigation Bar. Then, you have the Primary Navigation that is located below the header. Now, whether you wish to use both or just one is entirely your prerogative, on our end, we can show you how to remove them:
Primary Navigation can be gotten rid of by this code:
add_action( 'init', 'remove_canvas_main_navigation', 10 );
  
function remove_canvas_main_navigation() {
    // Remove main nav from the woo_header_after hook
    remove_action( 'woo_header_after','woo_nav', 10 );
}
And to remove the Top Navigation, you will need this:
add_action( 'init', 'remove_canvas_top_navigation', 10 );
  
function remove_canvas_top_navigation () {
    // Remove top nav from the woo_top hook
    remove_action( 'woo_top', 'woo_top_navigation', 10 );
}

Entonces, estos son algunos de los trucos de WordPress más increíblemente efectivos que llaman toda tu atención. Cuando tener rienda suelta sobre la funcionalidad de su sitio web está en la agenda, los trucos de WordPress anteriores cumplen el propósito de una manera más fluida y quirúrgica.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More