Seguimos con el tutorial para hacer themes en WordPress.
En este post vamos a ver como hacer el sidebar de nuestro theme.
El sidebar se almacena en el fichero sidebar.php, y en el mostraremos las categorías, un formulario de busqueda, los archivos de la página por meses y el blogroll, es decir, los enlaces.
Todo esto será lo que se muestre por defecto en nuestro theme, pero lo programaremos para que nuestro WordPress muestre los widgets en lugar de este contenido en caso de que este preparado para widgets .
Crea el fichero sidebar.php en la carpeta de tu theme e introduce el siguiente codigo :
En este post encontrarás...
Archivos
Enlaces';
get_links(' 1 ' ,' ' , ' ',' ',false,'name',false);
}else {
wp_list_bookmarks(array('title_before' => '', 'title_after' => '
', 'category_before' => ", 'category_after' => "));
}
?>
Categorías
El div tiene de identificador sidebar1 , que mediante las reglas Css que hemos puesto en el fichero style.css será flotado a la derecha.
En la primera linea de php :
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_right') )
comprobamos si nuestro WordPress esta preparado para widgets y si además hay algun widget en el sidebar_right, en caso de haberlo, se cargaran los widgets, pero si no hay widgets, se cargará el contenido estático que vamos a poner a continuación.
La función wp_get_archives hace un listado de el archivo de la base de datos, y como le hemos especificado como parámetro monthly, listara dentro de elementos <li> enlaces a los meses que lleva de vida nuestro blog.
Es importante crear el elemento <ul> y cerrarlo antes y después de llamar a la función wp_get_archives, ya que la función muestra los meses dentro de elementos li.
Acto seguido, creamos otro elemento ul y lo cerramos.Para listar los enlaces del blogroll,dentro de este ul usamos la funcion get_links en caso de que sea una version de WordPress antigua o la funcion wp_list_bookmarks de lo contrario.
El metodo es el mismo, se crearan elementos li por cada enace del blogroll.
Después creamos un h2 para las categorías, y usamos el mismo metodo para listar las categorías pero esta vez con la funcion wp_list_cats.
Por último creamos un formulario simple que se envia a la dirección del blog usando la funcion bloginfo(‘url’) en el action del formulario . Para que WordPress sepa que se trata de una busqueda, el textbox del formulario ha de tener de nombre “s”.
Por ultimo cerramos el if que comprueba se hay widgets en el sidebar y derramos el div sidebar1.
Ya tenemos el sidebar, pero ahora tenemos que crear el fichero functions.php, donde definiremos la funcion wp_version() , que se usa en header.php y registraremos el sidebar derecho para que pueda usar widgets.
Crea el fichero functions.php e introduce el siguiente código :
'sidebar_left', 'before_widget' => '', 'after_widget' => '', 'before_title' => '
', 'after_title' => '
') );
register_sidebar( array('name' => 'sidebar_right', 'before_widget' => '', 'after_widget' => '', 'before_title' => '
', 'after_title' => '
') );
}
function wp_version() {
global $wp_db_version;
if ( $wp_db_version < 3582 ) {
return '20';
} else {
return '21';
}
}
?>
Lo primero que hacemos es definir los sidebar derecho e izquierdo si la funcion register_sidebar existe, de esta forma nos apareceran dos sidebars en la parte de administración (Presentación -> Widgets) sobre los que poner widgets…
Después definimos la función wp_version que hemos usado antes.
Con esto ya tenemos nuestro sidebar preparado para widgets.
Si no introducimos ningun widget en el sidebar derecho en Presentación -> Widgets, apareceran los archivos, el blogroll, las categorías y un formulario de busqueda, por este orden, de lo contrario, apareran los widgets .
Ya tenemos nuestros ficheros functions.php y sidebar.php, ademas de los ficheros style.css y header.php que hicimos anteriormente, en el siguiente post crearemos el fichero index.php, que es el punto de entrada de la portada del blog, y el fichero single.php, que es el punto de entrada de un post en concreto.