Un sitio de WordPress sin complementos … ¿Sigue siendo posible? ?

A quién no le gustan los complementos ofrecidos en el directorio oficial de WordPress o incluso a través de una plataforma externa ? Nadie por supuesto !

Los complementos son omnipresentes o incluso esenciales para aquellos que no son desarrolladores de corazón, generalmente son confiables y mantenidos por desarrolladores benevolentes, pero también pueden ralentizar significativamente su sitio o tu blog si los recoges frenéticamente …

Un WordPress sin complementos ?

Un WordPress sin complemento o_O

Un WordPress sin ningún complemento ? NO ! Pero, ¿sabe que puede reemplazar fácilmente la presencia de ciertos complementos con algunas líneas de código? ? Veremos juntos cómo prescindir de ciertos complementos que se han vuelto demasiado invasivos …

Qué interés eliminar de los complementos para dar paso al código internamente ?
Esta es ciertamente la pregunta que debes hacerte ! ¿Por qué molestarse? ? Estas son las principales razones:

  • no depender de una tercera persona / plataforma / desarrollador
  • piense fuera de la caja y obtenga un módulo completamente personalizado
  • automatizar y así ahorrar tiempo si crea regularmente sitios en WordPress (a través de un tema infantil personalizado o incluso su propia plantilla)
  • reduzca el tiempo de carga debido a las numerosas solicitudes realizadas para cargar ciertos complementos (CSS, Javascript, etc …)
  • corrija fácilmente cualquier incompatibilidad ya que fue usted quien la codificó, por lo tanto, encontrará rápidamente la solución !
  • ya no pierde el tiempo instalando y configurando ciertos complementos

¿De qué complementos podemos prescindir fácilmente? ?

La lista podría ser muy larga, pero le sugiero que descubra una selección de características que generalmente utilizan una gran cantidad de sitios de WordPress, comenzando con :

1). Compartir botones sin complemento

Hay muchos complementos de “intercambio social”, algunos son simples, otros son fábricas de gas reales y otros son realmente interesantes… La preocupación es que generalmente usan Javascript y generan muchas consultas para cada red social. Como resultado de las carreras, pueden reducir el rendimiento de su sitio !

La solución ? Agregar código al archivo functions.php del tema de sus hijos, estilice la apariencia de sus botones con un poco de CSS (para colocar en el archivo style.css del tema de tus hijos) y listo ! Adiós Comparta esto, Shareaholic, Digg Digg, etc … Si desea probarlo usted mismo, use el código disponible a continuación y no dude en realizar cambios para adaptarse a su proyecto.

Ver el código del archivo functions.php

/*** BOUTONS DE PARTAGE SANS PLUGINS ***/

function my_sharing_buttons($content) {
    global $post;
    if(is_singular() || is_home()){
 
        // Récuperer URL de la page en cours 
        $myCurrentURL = urlencode(get_permalink());
 
        // Récuperer TITRE de la page en cours
        $myCurrentTitle = urlencode(get_the_title()); // correction du 9 février 2017
 
        // Récuperer MINIATURE si l'image à la une existe
        if(has_post_thumbnail($post->ID)) {
            $myCurrentThumbnail = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), 'full'); // correction du 9 février 2017
        }
        
        // Construction des URL de partage - correction du 9 février 2017 (url échapées)
        $twitterURL = esc_url( 'https://twitter.com/intent/tweet?text=".$myCurrentTitle."&url=".$myCurrentURL."&via=Votre-Pseudo' ); // indiquez ici votre pseudo sans le @
        $facebookURL = esc_url( 'https://www.facebook.com/sharer/sharer.php?u='.$myCurrentURL );
        $googleURL = esc_url( 'https://plus.google.com/share?url=".$myCurrentURL );
        $linkedInURL = esc_url( "https://www.linkedin.com/shareArticle?mini=true&url=".$myCurrentURL."&title=".$myCurrentTitle );
        $pinterestURL = esc_url( "https://pinterest.com/pin/create/button/?url=".$myCurrentURL."&media=".$myCurrentThumbnail[0]."&description='.$myCurrentTitle );
        $email_share = esc_url( 'mailto:?subject=Regarde cet article !&BODY=Hey ! Je voulais partager avec toi cet article interressant : '.$myCurrentURL.'&title=".$myCurrentTitle );
 
        // Ajout des bouton en bas des articles et des pages
        $content .= "<div class="partage-reseaux-sociaux">';
        $content .= __('<h5>Partagez Maintenant !</h5>'); // correction du 9 février 2017 : texte traduisible
        $content .= '<a class="msb-link msb-twitter" href="'.$twitterURL.'" target="_blank">Twitter</a>';
        $content .= '<a class="msb-link msb-facebook" href="'.$facebookURL.'" target="_blank">Facebook</a>';
        $content .= '<a class="msb-link msb-googleplus" href="'.$googleURL.'" target="_blank">Google+</a>';
        $content .= '<a class="msb-link msb-linkedin" href="'.$linkedInURL.'" target="_blank">LinkedIn</a>';
        $content .= '<a class="msb-link msb-pinterest" href="'.$pinterestURL.'" target="_blank">Pin It</a>';
        $content .= '<a class="msb-link msb-email" href="'.$email_share.'" target="_blank">eMail</a>'; // correction du 9 février 2017
        $content .= '</div>';
        }
        
        // si ce n'est pas un article ou une page, ne pas inclure les boutons de partages
        return $content; // correction du 9 février 2017
};

add_filter( 'the_content', 'my_sharing_buttons');

Ver el código del archivo style.css

/*** CUSTOMISER LES BOUTONS DE PARTAGES ***/

.msb-link {
 padding: 5px 15px 5px 15px !important;
 color: white;
 font-size: 12px;
 border-radius: 2px;
 margin-right: 2px;
 cursor: pointer;
 box-shadow: inset 0 -3px 0 rgba(0,0,0,.2);
 -moz-box-shadow: inset 0 -3px 0 rgba(0,0,0,.2);
 -webkit-box-shadow: inset 0 -3px 0 rgba(0,0,0,.2);
 margin-top: 2px;
 display: inline-block;
 text-decoration: none;
 text-transform: uppercase
}
 
.msb-link:hover,.msb-link:active {
 background: #ff942a;
 transition: all 0.3s ease-in;
}
 
.msb-twitter {
 background: #00aced;
}
 
.msb-facebook {
 background: #3B5997;
}
 
.msb-googleplus {
 background: #D64937;
}
 
.msb-pinterest {
 background: #bd081c;
}
 
.msb-linkedin {
 background: #0074A1;
}

.msb-email {
 background: #878787;
}
 
.partage-reseaux-sociaux {
 margin: 20px 0px 25px 0px;
 font-size: 12px;
}

/*** CUSTOMISER LES BOUTONS DE PARTAGES POUR RESPONSIVE ***/

@media only screen and (max-width: 680px) {
 
/* placer ici votre CSS Responsive */

}

Aquí está el resultado :

2). Cree una sección de “Publicación relacionada” sin complemento

Ciertamente conoce la sección “Publicación relacionada” o “Artículos relacionados” que muestra, al final de una publicación, una serie de artículos para leer … Esta es una característica muy importante en un blog en términos de SEO y también porque permite al lector encontrar fácilmente otros artículos que se relacionan con una categoría o palabra clave, finalmente mantiene a este visitante unos minutos más en su sitio ! Por lo tanto, solo hay ventajas en ponerlo en práctica !

Dependiendo del tema de WordPress que esté utilizando, la sección “publicación relacionada” puede ofrecerse como una opción; de lo contrario, deberá usar un complemento … o no ! Y si decide insertar esta funcionalidad usted mismo al final de sus artículos, este es el procedimiento:

  1. Duplica el archivo single.php de su tema principal: es el archivo que administra la plantilla para sus artículos.
  2. Ábrelo single.php con un editor de texto y agregue el siguiente código El bucle principal, justo arriba de los comentarios: este suele ser el lugar perfecto para mostrar esta sección.
  3. Envíe este archivo al tema de sus hijos a través de FTP (si ya está presente en su servidor).
  4. Estilice la apariencia de los elementos en esta sección, agregando CSS al archivo style.css del tema de sus hijos, para que sea atractivo. Puede usar el siguiente código, por ejemplo.

Ver el código del archivo single.php

<div class="section-related-post">
        <?php    
            _e('<h3>Vous aimerez aussi :</h3>'); // correction du 3 février 2017 : texte traduisible
        
            global $post; // correction du 3 février 2017
            $categories = get_the_category($post->ID); // appeler les posts par catégorie, si par tags utilisez : $tags = wp_get_post_tags($post->ID);

            if ($categories) { // si par tags : if ($tags) {
            $category_ids = array(); // si par tags : $tag_ids = array();
            foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; // si par tags : foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
            
            $args=array(
            'category__in' => $category_ids, // si par tags : 'tag__in' => $tag_ids,
            'post__not_in' => array($post->ID),
            'posts_per_page'=> 3, // Nombre de posts à afficher
            'ignore_sticky_posts'=>1 // correction du 3 février 2017
            );

            $my_query = new wp_query( $args );
            while( $my_query->have_posts() ) {
            $my_query->the_post();
        ?>

<div class="chaque-post">
    <a rel="external" href="https://wpformation.com/wordpress-sans-plugins/<?php the_permalink(); ?>"><?php the_post_thumbnail(array(150,150)); ?> <!-- 150 correspondent aux pixels de la miniature : largeur, hauteur // correction du 3 février 2017 : ajout d'une balise php manquante -->
        <p class="mon-titre-related"><?php the_title(); ?></p>
    </a>
</div>

<?php 
}
} // correction du 3 février 2017
wp_reset_query(); 
?>
</div>

Ver el código del archivo style.css

/*** section VOUS AIMEREZ AUSSI - related post */

.section-related-post {
 width: 100%; 
 margin: 20px 0 20px 0; 
 padding: 20px;
 float: left; 
 font-size: 16px;
 box-shadow: 0 1px 3px 0 rgba(0,0,0,.1);
}

.section-related-post h3 {
 font-size: 22px; 
 margin-bottom: 10px; 
}

.chaque-post {
 float: left; 
 width: 30%;
 margin-right: 5%;
}

.chaque-post:last-child {
 margin-right: 0%;
}

.chaque-post img {
 margin: 0 0 3px 0; 
 width: 100%;
 padding: 0;
 background-position:center;
 transition: all 0.5s ease;
 -moz-transition: all 0.5s ease;
 -ms-transition: all 0.5s ease;
 -webkit-transition: all 0.5s ease;
 -o-transition: all 0.5s ease;
}

.chaque-post img:hover {
 transform: scale(1.1);
 -moz-transform: scale(1.1);
 -webkit-transform: scale(1.1);
 -o-transform: scale(1.1);
 -ms-transform: scale(1.1); /* IE 9 */
 -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand')"; /* IE8 */
 filter: progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand'); /* IE6 and 7 */ 
}

.chaque-post a {
 color : #333; 
 text-decoration: none; 
 display:block; 
 padding: 10px; 
 width: 100%;
 box-shadow: 0 1px 3px 0 rgba(0,0,0,.1);

}

.chaque-post a:hover {
 color: #ff942a;
 /* Firefox */
 -moz-transition: all 0.3s ease-in;
 /* WebKit */
 -webkit-transition: all 0.3s ease-in;
 /* Opera */
 -o-transition: all 0.3s ease-in;
 /* Standard */
 transition: all 0.3s ease-in;
}

@media only screen and (max-width: 580px) {
 
/* placer ici votre CSS Responsive */

}

Aquí está el resultado :

3). Muestre su “Consentimiento de cookies” sin complemento

Dado que la Ley de Protección de Datos Personales requiere que los sitios web informen a los visitantes sobre el uso de cookies, los complementos proporcionados para este propósito nunca han tenido más viento ! Y, sin embargo, es muy simple agregar un pequeño fragmento de código a su tema para instalar esta barra de notificaciones, especialmente porque existen muy buenas herramientas para generar fácilmente el código …

Cómo hacer ? Aquí están los pasos a seguir:

  1. Genere el código para agregar en línea: vaya a Skilltide.com o por supuesto Cookie-Script.com siga los pocos pasos y luego copie el código que se le proporcionará.
  2. Duplica el archivo header.php del tema de tus padres
  3. Usando un editor de texto, abra este archivo y agregue el código así obtenido (consulte también el ejemplo a continuación) justo después de abrir la etiqueta .
  4. Envía el archivo header.php en el tema de sus hijos a través de FTP (si el tema de los niños ya está presente en su servidor).

Ver el código del archivo header.php

 <!-- Notice d'acceptation des cookies sans plugins, plus de choix ici : http://silktide.com/cookieconsent -->
 <script type="text/javascript">
 window.cookieconsent_options = {"message":"Ce site utilise des cookies pour vous offrir la meilleure des expériences","dismiss":"OK","learnMore":"En savoir plus !","link":"http://mon-site.com/cookies","theme":"dark-top"};
 </script>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.10/cookieconsent.min.js"></script>
 <!-- Fin de la notice d'acceptation des cookies-->

Aquí está el resultado :

Barra de galletas sin complementos

4). La función de “Publicación duplicada” sin complemento

En nativo, WordPress permite crear, modificar o eliminar una publicación, pero desafortunadamente no permite duplicar una publicación ya existente …

Sin embargo, esta funcionalidad sería muy útil porque le permitiría ahorrar un tiempo considerable dependiendo del uso que haga de ella. Hay un complemento muy efectivo para esta operación, lo es Publicación duplicada, de lo contrario, puede probar el método sin complementos igualmente efectivo para esto:

  1. Editar el archivo function.php del tema de tus hijos
  2. Copie el código a continuación y péguelo en su archivo
  3. Guardar y admirar ! Como por arte de magia, la opción de duplicación apareció en el lado administrativo de su sitio. Lo encontrará en la descripción general de su cursor en un artículo existente.

Ver el código del archivo functions.php

/*** ajouter la fonction pour dupliquer les posts sans plugin ***/

function dupliquer_sans_plugin(){
    global $wpdb;
    if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'dupliquer_sans_plugin' == $_REQUEST['action'] ) ) ) {
        wp_die("Aucun post à dupliquer n'a été fourni...");

        check_admin_referer( 'duplicate-post_' . $post->ID ); // correction du 9 février 2017
    }
 
        // RECUPERE LES INFOS A DUPLIQUER
        $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );
        $post = get_post( $post_id );
        $current_user = wp_get_current_user();
        $new_post_author = $post->post_author; // correction du 9 février 2017

    if (isset( $post ) && $post != null) {
 
        // REGLAGES DU NOUVEAU BROUILLON
        $args = array(
        'comment_status' => $post->comment_status,
        'ping_status' => $post->ping_status,
        'post_author' => $new_post_author,
        'post_content' => $post->post_content,
        'post_excerpt' => $post->post_excerpt,
        'post_name' => $post->post_name,
        'post_parent' => $post->post_parent,
        'post_password' => $post->post_password,
        'post_status' => 'draft',
        'post_title' => $post->post_title,
        'post_type' => $post->post_type,
        'to_ping' => $post->to_ping,
        'menu_order' => $post->menu_order
        );
 
        $new_post_id = wp_insert_post( $args );
 
        $taxonomies = get_object_taxonomies($post->post_type);
        foreach ($taxonomies as $taxonomy) {
        $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
        wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
    }
 
        $post_meta_infos = get_post_meta( $post_id ); // correction du 9 février 2017
 
        wp_redirect( admin_url( 'post.php?action=edit&post=" . $new_post_id ) );
        exit;
        } else {
        wp_die("Une erreur s"est produite, impossible de trouver le post original : " . $post_id);
        }
    }

add_action( 'admin_action_dupliquer_sans_plugin', 'dupliquer_sans_plugin' );

function dupliquer_le_post( $actions, $post ) {
    if (current_user_can('edit_posts', $post->ID)) { // correction du 9 février 2017
         $url = wp_nonce_url( admin_url( 'admin.php?action=dupliquer_sans_plugin&amp;post=" . $post->ID ), "duplicate-post_' . $post->ID ); // correction du 9 février 2017
         $actions['duplicate'] = '<a href="' . esc_url( $url ) . '" title="Dupliquer ce post" rel="permalink">Dupliquer</a>'; // correction du 9 février 2017
    }
    return $actions;
}
 
add_filter( 'post_row_actions', 'dupliquer_le_post', 10, 2 );

Ver el resultado :

Dulica la publicación sin complementos

5). Ponga su WordPress en mantenimiento sin un complemento

Este es otro buen ejemplo de funcionalidad que podría funcionar fácilmente sin un complemento ! Para hacer esto, solo necesitará agregar algunas líneas de código al archivo functions.php del tema de tus hijos. Gracias a esta función, continuará accediendo a su administración para continuar trabajando en silencio en su sitio como lo ofrecen los complementos de mantenimiento. Todos los visitantes que no serán identificados como administradores verán una página de “sitio de mantenimiento”.

Desde el código disponible a continuación, puede imaginar agregar una sección de enlaces a sus redes sociales, un inserto para registrarse en el boletín, una imagen de fondo, etc … Y ahí lo tienes, un complemento menos !

NB: la ventaja con este código es que una vez que se completen sus modificaciones, solo tendrá que pausar el código “en el próximo trabajo gracias a una barra doble (//) insertada frente a cada línea. Puede hacerlo fácilmente desde su administración de pestañas Apariencia> Editor> functions.php

Ver el código del archivo functions.php

 /*** page de maintenance côté visiteur - sans plugins ***/

function mode_maintenance(){
    if(!current_user_can('edit_themes') || !is_user_logged_in()){
        wp_die('<div style="border:solid 1px grey;"><h1 style="color:#FF942A; text-align:center; text-transform:uppercase;">Site en Maintenance</h1><p style="text-align:center; font-size:18px;">Nous effectuons quelques travaux de maintenance afin de vous fournir un site toujours plus efficace... Revenez vite !</p></div>', 'Maintenance', array( ‘response’ => 503 )); // correction du 9 février 2017
    }
}
add_action('init', 'mode_maintenance'); // correction du 9 février 2017

Pausa el modo de mantenimiento

 /*** page de maintenance côté visiteur - sans plugins ***/

//function mode_maintenance(){
//    if(!current_user_can('edit_themes') || !is_user_logged_in()){
//        wp_die('<div style="border:solid 1px grey;"><h1 style="color:#FF942A; text-align:center; text-transform:uppercase;">Site en Maintenance</h1><p style="text-align:center; font-size:18px;">Nous effectuons quelques travaux de maintenance afin de vous fournir un site toujours plus efficace... Revenez vite !</p></div>', 'Maintenance', array( ‘response’ => 503 )); // correction du 9 février 2017
//    }
//}
//add_action('init', 'mode_maintenance'); // correction du 9 février 2017

Ver el resultado :

Modo de mantenimiento sin complementos

En conclusión

Como comprenderá, los complementos son piezas de código que agregan funcionalidad a un sitio de WordPress. Si fuera un desarrollador, ciertamente no los necesitaría (o muy poco), por supuesto, pero nada le impide encontrar el equilibrio adecuado …

Así que ponte a trabajar ?

Te puede interesar:  wp-config.php y functions.php: 2 archivos esenciales en WordPress

Deja una respuesta

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