Estás leyendo la publicación: Un nuevo look para wpcult
Te mostré cómo crear un widget personalizado en una publicación anterior. Pero, ¿qué tal si agregamos un widget adicional de “Archivos” que no incluya los últimos 3 años (si ha existido durante tanto tiempo) en forma de mes y se extienda por toda la barra lateral?
Bueno, echemos un vistazo al código original que se encuentra en el archivo widgets.php en la carpeta ./wp-includes/.
¿Suficientemente simple? O no..
De todos modos, agreguemos y cambiemos algunas cosas. Luego agregará el código final a su archivo functions.php.
Bien, comenzando con la primera función: wp_widget_archive y cambie el nombre a widget_archive_limit
Debería verse así ahora:
función widget_archives_limit($argumentos) {
Luego, debajo de esta línea:
$título = vacío($opciones[‘title’]) ? __(‘Archivos’) : apply_filters(‘widget_title’, $opciones[‘title’]);
Agregar:
$límite = vacío($opciones[‘limit’]) ? __(‘Límite’) : apply_filters(‘widget_limit’, $opciones[‘limit’]);
En esta línea:
Hemos agregado &limit=$limit. Lo mismo ocurre con el segundo wp_get_archives:
Al final de este código agregue:
wp_register_sidebar_widget(‘límite de archivos’, __(‘Límite de archivos’), ‘widget_archives_limit’, $widget_ops);
Todo el código debería verse así:
function widget_archives_limit($args) { extract($args); $opciones = get_option(‘widget_archives’); $c = $opciones[‘count’] ? ‘1’ : ‘0’; $d = $opciones[‘dropdown’] ? ‘1’ : ‘0’; $título = vacío($opciones[‘title’]) ? __(‘Archivos’) : apply_filters(‘widget_title’, $opciones[‘title’]); $límite = vacío($opciones[‘limit’]) ? __(‘Límite’) : apply_filters(‘widget_limit’, $opciones[‘limit’]); echo $antes_del_widget; echo $antes_del_titulo. $título . $después_del_título; if($d) { ?>
Eso se ocupa del widget en sí mismo, ahora necesitamos crear los controles. Una vez más, encuentre la segunda función y cambie wp_widget_archive_control a widget_archives_limit_control
Encuentra esta línea:
$nuevas opciones[‘title’] = strip_tags(tirasbarras($_POST[“archives-title”]));
y agregue esta línea a continuación:
$nuevas opciones[‘limit’] = strip_tags(tirasbarras($_POST[“archives-limit”]));
Luego encuentra esta línea:
$título = atributo_escape($opciones[‘title’]);
y agregue esta línea a continuación:
$límite = atributo_escape($opciones[‘limit’]);
Finalmente busque esta línea:
y agregue esta línea a continuación:
El código debería verse así:
function widget_archives_limit_control() { $opciones = $nuevas opciones = get_option(‘widget_archives’); si ( isset($_POST[“archives-submit”]) ) { $nuevas opciones[‘count’] = isset($_POST[‘archives-count’]); $nuevas opciones[‘dropdown’] = isset($_POST[‘archives-dropdown’]); $nuevas opciones[‘title’] = strip_tags(tirasbarras($_POST[“archives-title”])); $nuevas opciones[‘limit’] = strip_tags(tirasbarras($_POST[“archives-limit”])); } if ( $opciones != $nuevasopciones ) { $opciones = $nuevasopciones; update_option(‘widget_archives’, $opciones); } $recuento = $opciones[‘count’] ? ‘marcado=”marcado”‘ : ”; $menú desplegable = $opciones[‘dropdown’] ? ‘marcado=”marcado”‘ : ”; $título = atributo_escape($opciones[‘title’]); $límite = atributo_escape($opciones[‘limit’]); ?>