{"id":514,"date":"2010-03-17T15:31:54","date_gmt":"2010-03-17T14:31:54","guid":{"rendered":"http:\/\/blog.walii.es\/2010\/03\/17\/wordpress-css-y-widgets\/"},"modified":"2010-10-09T20:42:42","modified_gmt":"2010-10-09T18:42:42","slug":"wordpress-css-y-widgets","status":"publish","type":"post","link":"https:\/\/blog.walii.es\/?p=514","title":{"rendered":"WORDPRESS CSS y widgets"},"content":{"rendered":"<p>Hoy me voy a concentrar en el dise\u00f1o de las paginas creadas con wordpress\u2026 siempre he tenido el problema que estos theme no tienen flexibilidad a la hora de poner widget (ventanas\/cajas) donde queramos, por ejemplo debajo de men\u00fa o sobre el pie\u2026 o pensando de otra forma, quiz\u00e1s quiero dividir en 3 widget diferentes y situarlos sobre el pie de nuestra p\u00e1gina, o quiz\u00e1s poner 3 ventanas adicionales debajo del encabezado de forma de publicidad o cualquier otro tipo de widget.<\/p>\n<p>Una de las primeras cosas que debemos hacer es modificar la plantilla <a href=\"http:\/\/en.wikipedia.org\/wiki\/Cascading_Style_Sheets\">CSS (<strong>Cascading Style Sheets<\/strong>)<\/a> la cual indica lo que queremos hacer con nuestras ventanas \u00abaun no creadas\u00bb, ya que depende el theme, tendremos una, dos y hasta 3 columnas\u2026 en este caso agregaremos algunas m\u00e1s, para tener m\u00e1s flexibilidad.<\/p>\n<p>En nuestro ejemplo, las laterales (derecha e izquierda) ya estaban creadas por el theme por defecto, solo tuvimos que agregar las indicadas como TOPWIDGET, FOOTERcenterWIDGET, FOOTERleftWIDGET y FOOTERrigthWIDGET.<\/p>\n<p style=\"text-align: center;\">\n<p style=\"text-align: center;\"><img src=\"http:\/\/blog.walii.es\/wp-content\/uploads\/2010\/03\/031710_1429_WORDPRESSCS4.png\" alt=\"\" \/><span style=\"color: black;\"> <\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: black;\"><!--more--><br \/>\n<\/span><\/p>\n<p>Nuestra modificaci\u00f3n del STYLE.CSS dentro del theme ser\u00e1:<\/p>\n<p>[sourcecode language=\u00bbcss\u00bb]<br \/>\n    .unico_item {<\/p>\n<p>    clear:both;<\/p>\n<p>    \/* Alineacion del contexto *\/<\/p>\n<p>    float: left;<\/p>\n<p>    \/* ancho de todo el widget en este caso uno solo ocupando el 100% de la pagina *\/<\/p>\n<p>    width: 100%;<\/p>\n<p>    \/* m\u00e1rgenes de nuestro widget en este caso comenzando desde el margen izquierdo *\/<\/p>\n<p>    margin: 0px 0px 0px 0px;<\/p>\n<p>    padding: 0px;<\/p>\n<p>    }<\/p>\n<p>    .varios_items {<\/p>\n<p>    \/* Alineacion del contexto *\/<\/p>\n<p>    text-align: left;<\/p>\n<p>    \/* ancho de cada widget pensado para poner 3 widgets *\/<\/p>\n<p>    width: 33.3%;<\/p>\n<p>    \/* espacio entre widgets *\/<\/p>\n<p>    padding-right: 0px;<\/p>\n<p>    \/* indicamos que queremos ocupar todo el espacio y organizado en una sola linea *\/<\/p>\n<p>    display: inline-block;<\/p>\n<p>    float: left;<\/p>\n<p>    height: 100%;<\/p>\n<p>    }<br \/>\n[\/sourcecode]<\/p>\n<p><em>*Aqu\u00ed no deberemos ver problemas ni nada raro en el wordpress, podemos refrescar el buscador, pero no tenemos que ver ninguna modificaci\u00f3n, si vemos alguna, es que cometimos alg\u00fan error en la modificaci\u00f3n del CSS, deberemos verificar que los nombres usados no se superponen con ning\u00fan otro.<br \/>\n<\/em><\/p>\n<p>Lo que hacemos ac\u00e1 es indicarle las proporciones de nuestros destinos sobre las paginas que necesitemos.<\/p>\n<p>Por ejemplo:<\/p>\n<p><span style=\"color: red;\">unico_item<\/span> &#8212; representa a el tama\u00f1o total de la pagina, para presentar un \u00fanico widget que ocupe toda la l\u00ednea de lapagina.<\/p>\n<p><span style=\"color: #00b0f0;\">Varios_items<\/span> &#8212; generado para tener la opci\u00f3n de 2 o m\u00e1s widgets en l\u00ednea ocupando toda la pagina, distribuido con  tama\u00f1os porcentuales.<\/p>\n<p><strong>2 widget 50%, 3 widget 33%, 4 widgets 25%<br \/>\n<\/strong><\/p>\n<p>Ahora vamos a crear los diferentes widget que queremos, en este caso voy a crear 4 adicionales, porque mi theme ya tiene dos para los lados, llamados sidebar1 y sidebar2.<\/p>\n<p>Crearemos por ejemplo top_widget y footer_left_widget, footer_center_widget, footer_rigth_widget, tratemos de crear nombres originales y a la vez entendibles, para que no se superpongan con otro widget de wordpress.<\/p>\n<p>En el archivo functions.php a continuaci\u00f3n de la configuraci\u00f3n que hace referencia a los disebars originales, en mi caso esto.<\/p>\n<p>[sourcecode language=\u00bbc\u00bb]<br \/>\n    if (function_exists(&#8216;register_sidebars&#8217;)) {<\/p>\n<p>    register_sidebars(2, array(<\/p>\n<p>    &#8216;before_widget&#8217; =&gt; &#8216;&lt;div id=&quot;%1$s&quot; class=&quot;widget %2$s&quot;&gt;&#8217;.'&lt;!&#8212; BEGIN Widget &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;before_title&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_title&#8217; =&gt; &#8216;&lt;!&#8212; END WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_widget&#8217; =&gt; &#8216;&lt;!&#8212; END Widget &#8212;&gt;&#8217;.'&lt;\/div&gt;&#8217;<\/p>\n<p>    ));<\/p>\n<p>    }<\/p>\n<p>Agregaremos esto a continuaci\u00f3n.<\/p>\n<p>    if ( function_exists(&#8216;register_sidebar&#8217;) )<\/p>\n<p>    register_sidebar(array(&#8216;name&#8217;=&gt;&#8217;top_widget&#8217;,<\/p>\n<p>    &#8216;before_widget&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN Widget &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;before_title&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_title&#8217; =&gt; &#8216;&lt;!&#8212; END WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_widget&#8217; =&gt; &#8216;&lt;!&#8212; END Widget &#8212;&gt;&#8217;<\/p>\n<p>    ));<\/p>\n<p>    if ( function_exists(&#8216;register_sidebar&#8217;) )<\/p>\n<p>    register_sidebar(array(&#8216;name&#8217;=&gt;&#8217;footer_rigth_widget&#8217;,<\/p>\n<p>    &#8216;before_widget&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN Widget &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;before_title&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_title&#8217; =&gt; &#8216;&lt;!&#8212; END WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_widget&#8217; =&gt; &#8216;&lt;!&#8212; END Widget &#8212;&gt;&#8217;<\/p>\n<p>    ));<\/p>\n<p>    if ( function_exists(&#8216;register_sidebar&#8217;) )<\/p>\n<p>    register_sidebar(array(&#8216;name&#8217;=&gt;&#8217;footer_left_widget&#8217;,<\/p>\n<p>    &#8216;before_widget&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN Widget &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;before_title&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_title&#8217; =&gt; &#8216;&lt;!&#8212; END WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_widget&#8217; =&gt; &#8216;&lt;!&#8212; END Widget &#8212;&gt;&#8217;<\/p>\n<p>    ));<\/p>\n<p>    if ( function_exists(&#8216;register_sidebar&#8217;) )<\/p>\n<p>    register_sidebar(array(&#8216;name&#8217;=&gt;&#8217;footer__center_widget&#8217;,<\/p>\n<p>    &#8216;before_widget&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN Widget &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;before_title&#8217; =&gt; &#8216;&lt;!&#8212; BEGIN WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_title&#8217; =&gt; &#8216;&lt;!&#8212; END WidgetTitle &#8212;&gt;&#8217;,<\/p>\n<p>    &#8216;after_widget&#8217; =&gt; &#8216;&lt;!&#8212; END Widget &#8212;&gt;&#8217;<\/p>\n<p>    ));<\/p>\n<p>[\/sourcecode]<\/p>\n<p><em>*Esto generar\u00e1 que en nuestro wordpress ya podamos ver los nuevos widgets, podremos configurarlos y agregarle plugins, pero no lo veremos por ning\u00fan lado, porque aun no le hemos dado destino a estos.<br \/>\n<\/em><\/p>\n<p>Veremos lo siguiente en el panel de administraci\u00f3n de WORDPRESS.<\/p>\n<p style=\"text-align: center;\"><img src=\"http:\/\/blog.walii.es\/wp-content\/uploads\/2010\/03\/031710_1429_WORDPRESSCS2.png\" alt=\"\" \/><\/p>\n<p>Ahora, buscaremos destinos para nuestro widget, si por ejemplo queremos que se vean en nuestra p\u00e1gina inicial, deberemos modificar el archivo, index.php, si por otro lado queremos que se vea en las p\u00e1ginas de los post, deberemos modificar el archivo page.php.<\/p>\n<p>En este caso por ejemplo quiero que el widget \u00fanico_widget que ocupa el 100% de la l\u00ednea, me gustar\u00eda verlo debajo de mi men\u00fa de la pagina de inicio, para poder ponerle publicidades, ads, banners, etx.<\/p>\n<p>Esto lo hacemos editando el archivo index.php, y pegando las siguientes l\u00edneas debajo de la configuraci\u00f3n de header.<\/p>\n<p>En mi caso debajo de esto:<\/p>\n<p style=\"margin-left: 36pt;\"><span style=\"font-family: Courier New; font-size: 8pt;\"><strong>&lt;?php get_header(); ?&gt;<br \/>\n<\/strong><\/span><\/p>\n<p>Pondremos esto:<\/p>\n<p style=\"margin-left: 36pt;\"><span style=\"font-family: Courier New; font-size: 8pt;\"><strong>&lt;div class=\u00bb<span style=\"color: #00b0f0;\">unico_item<\/span>\u00bb &gt;<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 36pt;\"><span style=\"font-family: Courier New; font-size: 8pt;\"><strong>&lt;?php if (!art_sidebar(<span style=\"color: red;\">top_widget<\/span>)): ?&gt;&lt;?php endif ?&gt;<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 36pt;\"><span style=\"font-family: Courier New; font-size: 8pt;\"><strong>&lt;\/div&gt;<br \/>\n<\/strong><\/span><\/p>\n<p>Aclarando:<\/p>\n<p><span style=\"color: #00b0f0;\">unico_item es <\/span><span style=\"color: black;\">el detalle de CLASS, que indica dimensiones del widget y posici\u00f3n en la l\u00ednea de p\u00e1gina.<\/span><span style=\"color: #00b0f0;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">top_widget <\/span><span style=\"color: black;\">relaciona los widget aplicados en la config de wordpress con los que aparezcan aqu\u00ed.<br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">Y otra cosa que quiero en la posibilidad de poner 3 widget en l\u00ednea en el fondo de mi p\u00e1gina, encima de la firma del pie de p\u00e1gina.<br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">Esto lo hacemos de la siguiente forma, en el mismo archivo index.php, buscaremos la configuraci\u00f3n que hace referencia al pie\u2026<br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">En mi caso:<br \/>\n<\/span><\/p>\n<blockquote><p><span style=\"font-family: Courier New; font-size: 8pt;\"><strong>&lt;?php get_footer(); ?&gt;<br \/>\n<\/strong><\/span><\/p><\/blockquote>\n<p><span style=\"color: black;\">Y colocaremos antes de este (sin borrar nada), lo siguiente:<br \/>\n<\/span><\/p>\n<p>[sourcecode language=\u00bbc\u00bb]<br \/>\n    &lt;div class=&quot;varios_items&quot; &gt;&lt;!&#8211; Give it some style &#8211;&gt;<\/p>\n<p>    &lt;?php if (!art_sidebar(footer_left_widget)): ?&gt;&lt;?php endif ?&gt;<\/p>\n<p>    &lt;\/div&gt;<\/p>\n<p>    &lt;div class=&quot;varios_items&quot; &gt;&lt;!&#8211; Give it some style &#8211;&gt;<\/p>\n<p>    &lt;?php if (!art_sidebar(footer_center_widget)): ?&gt;&lt;?php endif ?&gt;<\/p>\n<p>    &lt;\/div&gt;<\/p>\n<p>    &lt;div class=&quot;varios_items&quot; &gt;&lt;!&#8211; Give it some style &#8211;&gt;<\/p>\n<p>    &lt;?php if (!art_sidebar(footer_rigth_widget)): ?&gt;&lt;?php endif ?&gt;<\/p>\n<p>    &lt;\/div&gt;<\/p>\n<p>[\/sourcecode]<\/p>\n<p><span style=\"color: black;\">Lo mismo que en el anterior caso:<br \/>\n<\/span><\/p>\n<p><span style=\"color: #00b0f0;\">varios_items <\/span><span style=\"color: black;\">indica el tama\u00f1o y posici\u00f3n de los widget en cuesti\u00f3n, aunque aplicado a varios lo que genera es que se coloquen en l\u00ednea. Solo se puede usar es una sola l\u00ednea por pagina.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">footer_****_widget <\/span><span style=\"color: black;\">identifica y relaciona los widget configurados y rellenados dentro de la configuraci\u00f3n de wordpress.<\/span><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">*nota: si no ponemos nada dentro de nuestros widget, no veremos nada, ya que estos no poseen ning\u00fan atributo antes de su configuraci\u00f3n, como es el caso de los widget por defecto de wordpress los cuales ya traen una configuraci\u00f3n por defecto condicionada a un IF por si configuramos cualquier cosa dentro de la config<br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">Entonces cuando configuremos cosillas dentro de los widget pasaremos de esto:<br \/>\n<\/span><\/p>\n<p style=\"text-align: center;\"><img src=\"http:\/\/blog.walii.es\/wp-content\/uploads\/2010\/03\/031710_1429_WORDPRESSCS3.png\" alt=\"\" \/><span style=\"color: black;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">A algo como esto.<br \/>\n<\/span><\/p>\n<p style=\"text-align: center;\"><img src=\"http:\/\/blog.walii.es\/wp-content\/uploads\/2010\/03\/031710_1429_WORDPRESSCS4.png\" alt=\"\" \/><span style=\"color: black;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color: black;\">Cualquier consulta, pueden hacerla en la propia web. O a mi directamente por correo.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy me voy a concentrar en el dise\u00f1o de las paginas creadas con wordpress\u2026 siempre he tenido el problema que estos theme no tienen flexibilidad a la hora de poner widget (ventanas\/cajas) donde queramos, por ejemplo debajo de men\u00fa o sobre el pie\u2026 o pensando de otra forma, quiz\u00e1s quiero dividir en 3 widget diferentes &hellip;<br \/><a href=\"https:\/\/blog.walii.es\/?p=514\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\">Seguir leyendo <span class=\"screen-reader-text\">WORDPRESS CSS y widgets<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[68,139],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.walii.es\/index.php?rest_route=\/wp\/v2\/posts\/514"}],"collection":[{"href":"https:\/\/blog.walii.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.walii.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.walii.es\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=514"}],"version-history":[{"count":3,"href":"https:\/\/blog.walii.es\/index.php?rest_route=\/wp\/v2\/posts\/514\/revisions"}],"predecessor-version":[{"id":515,"href":"https:\/\/blog.walii.es\/index.php?rest_route=\/wp\/v2\/posts\/514\/revisions\/515"}],"wp:attachment":[{"href":"https:\/\/blog.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.walii.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}