Como agregar correctamente CSS a Wordpress

En esta entrada intentaremos aportar un poco de luz a la mejor forma, a nuestro modo de ver, para incluir nuestros archivos CSS en Wordpress tanto en nuestro tema como en nuestro. La gran mayoría agregáis vuestra CSS al tema directamente, o cuando desarrolláis un plugin lo incluís utilizando un código más o menos así:
PHP:
  1. function on__style(){
  2.     echo "<style type='text/css'>
  3.         .scroll_checkboxes {
  4.             height: 400px;
  5.             width: 400px;
  6.             padding: 5px;
  7.             overflow: auto;
  8.             border: 1px solid #ccc
  9.         }
  10.  
  11.             .scroll_checkboxes label{
  12.                 float: left;
  13.                 clear: both;
  14.             }
  15.             .form-table input[type=text]{ width: 400px }
  16.     </style>";
  17. }
  18. add_action('wp_head', 'on__style');

Bueno, he puesto el caso peor haciendo la "guarrada" de no incluir nuestro código CSS en un archivo externo. El modo más limpio para hacerlo es a través un hook de Wordpress que ejecuta dentro de la función wp_head(), este es wp_print_styles, podemos introducir el siguiente código en nuestro archivo functions.php del tema:
PHP:
  1. function on__style(){
  2.     wp_enqueue_style('style-theme', get_bloginfo('stylesheet_url'), false, false, 'screen');
  3.     wp_enqueue_style('960', get_bloginfo('template_url').'/_inc/css/960.css','style-theme');
  4.     wp_enqueue_style('jquery-ui', get_bloginfo('template_url').'/_inc/css/jquery-ui.custom/ jquery-ui.custom.css','style-theme');
  5. }
  6. add_action('wp_print_styles', 'on__style');

Con este código no tendremos que introducir ninguna referencia al CSS en el archivo header.php de nuestro tema, simplemente tenemos que asegurarnos que antes del cierre de la etiqueta llamamos a la función wp_head(). En el caso de estar desarrollando un plugin, este sería el código equivalente:
PHP:
  1. function on__widget_style(){
  2.     $pluginDirComplete = plugin_basename(dirname(__FILE__));
  3.     $pluginsWPDirComplete = basename(dirname(dirname(__FILE__)));
  4.  
  5.     $urlSite = get_settings('siteurl');
  6.     $urlCSS = $urlSite . '/wp-content/'.$pluginsWPDirComplete.'/'.$pluginDirComplete.'/css/on-widget_style.css';
  7.  
  8.     wp_enqueue_style('on__traffsend', $urlCSS);
  9. }
  10. add_action('wp_print_styles', 'on__widget_style');

Esto tiene un ventaja muy importante y es que podemos usar algún plugin para comprimir y unificar todos nuestros CSS en un único fichero mejorando sensiblemente la velocidad de carga y reduciendo la transferencia del servidor, pero esto, da para otro post en el futuro.
Compartir:
  • Print
  • Facebook
  • Twitter
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Digg

PROYECTOS RELACIONADOS

    None Found

COMENTARIOS

En estos momentos no existen comentarios. ¡Sé el primero!

PARTICIPA EN LA CONVERSACIÓN

Introduce tu información personal o utiliza tu cuenta de twitter o facebook para acceder

   



CATEGORÍAS


C\ Trafalgar 13
46930 Quart de Poblet - Valencia - España

  • (+34) 961 139 313
  • info@onestic.com
  • (+34) 963 023 041
  • (+34) 622 858 391

HABLEMOS...

No dudes en ponerte en contacto con nosotros. Hablamos tranquilamente, te damos nuestra opinión sobre tu proyecto y decidimos cómo te podemos ayudar.

CONTACTO



SIGUÉNOSEN: