Ejemplo: publicidad-arriba.php
Y el código que este llevara ya que mis necesidades por ahora es solo colocar nuevo código html, para colocar imágenes de publicidad o banners en flash entonces por eso utilizo este código y solo acepto código html y sin título para que no aparezca nada en dicha posición más que el código de la publicidad:
Y lo debemos de guardar en la dirección que lo esté guardando nuestro tema que utilicemos en ese momento para ello en mi caso que estoy utilizando el tema de agregate de elegant themes entonces lo voy a colocar en \wp-content\themes\Aggregate\includes\widgets\publicidad-arriba.php y el código de dicho widgets es el siguiente:
/*widget realizado por jose Heriberto perez magaña*/
/*visita para mas información www.micompu.com.mx*/
<?php class PublicidadArribaWidget extends WP_Widget
{
function PublicidadArribaWidget(){
$widget_ops = array( 'description' => 'Para colocar la publicidad arriba' );
$control_ops = array( 'width' => 400, 'height' => 300 );
parent::WP_Widget( false, $name='Publicidad Arriba Widget', $widget_ops, $control_ops );
}
/* Displays the Widget in the front-end */
function widget( $args, $instance ){
extract($args);
$aboutText = empty( $instance['aboutText'] ) ? '' : $instance['aboutText'];
echo $before_widget;
echo( $aboutText );?>
<?php
echo $after_widget;
}
/*Saves the settings. */
function update( $new_instance, $old_instance ){
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['imagePath'] = esc_url( $new_instance['imagePath'] );
$instance['aboutText'] = current_user_can('unfiltered_html') ? $new_instance['aboutText'] : stripslashes( wp_filter_post_kses( addslashes($new_instance['aboutText']) ) );
return $instance;
}
/*Creates the form for the widget in the back-end. */
function form( $instance ){
//Defaults
$instance = wp_parse_args( (array) $instance, array( 'title'=>'About Me', 'imagePath'=>'', 'aboutText'=>'' ) );
$title = esc_attr( $instance['title'] );
$imagePath = esc_url( $instance['imagePath'] );
$aboutText = esc_textarea( $instance['aboutText'] );
# Title
echo '<p><label for="' . $this->get_field_id('title') . '">' . 'Title:' . '</label><input id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></p>';
# Image
echo '<p><label for="' . $this->get_field_id('imagePath') . '">' . 'Image:' . '</label><textarea cols="20" rows="2" id="' . $this->get_field_id('imagePath') . '" name="' . $this->get_field_name('imagePath') . '" >'. $imagePath .'</textarea></p>';
# About Text
echo '<p><label for="' . $this->get_field_id('aboutText') . '">' . 'Text:' . '</label><textarea cols="20" rows="5" id="' . $this->get_field_id('aboutText') . '" name="' . $this->get_field_name('aboutText') . '" >'. $aboutText .'</textarea></p>';
}
}// fin del widget de publicidad arriba class
function PublicidadArribaWidgetInit() {
register_widget('PublicidadArribaWidget');
}
add_action('widgets_init', 'PublicidadArribaWidgetInit'); ?>
En caso de que ustedes quieran crear un widgets con funciones más avanzadas pueden basarse en otros widgets ya escritos y personalizarlos a su gusto o buscar directamente en la página de codex de wordpress para ver más ejemplos y todos los parámetros que pueden utilizar para sus widgets
Y para que pueda aparecer en nuestro tema en el back end para primero visualizar que ya esta disponible entonces lo primero que hacemos es agregarlo también en el archivo widgets.php ubicado en la siguiente dirección:wp-content\themes\Aggregate\includes\ widgets.php
Y quedaría de la siguiente forma el archivo widgets.php final
<?php get_template_part('includes/widgets/widget-about');
get_template_part('includes/widgets/widget-adsense');
get_template_part('includes/widgets/widget-ads');
get_template_part('includes/widgets/widget-fromblog');
get_template_part('includes/widgets/widget-recentvideos');
get_template_part('includes/widgets/widget-photostream');
get_template_part('includes/widgets/widget-popular');
get_template_part('includes/widgets/widget-728');
get_template_part('includes/widgets/publicidad-arriba');
?>
Después si refrescamos en el área de widgets podremos visualizar que podemos utilizar nuestro nuevo widget para poder colocarlos en el sidebar o en una de las áreas de widgets que tiene nuestro tema.
Ahora bien como en mi caso no quiero que aparezca la publicidad en el sidebar si no que quiero que aparezca en la parte superior antes del menú superior (El primero) ya que este tema cuenta con tres, entonces ahora lo que debemos de hacer es crear una nueva área para widgets y plugins.
Para crear una nueva área para widgets y plugins dentro de nuestro tema yo lo voy a declarar en el archivo sidebars.php en mi caso ubicado en: \wp-content\themes\Aggregate\includes\functions\ sidebars.php
En donde se declaran todas las áreas para widgets y plugins en mi caso voy a duplicar uno existente y lo voy a modificar para que quede de la siguiente manera:
register_sidebar( array(
'name' => 'Publicidad Arriba',
'id' => 'PublicidadArriba',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
) );
Si queremos que aparezca antes de todos los widgets pues nomas nos aseguramos de que sea el primer widget declarado en donde empieza el archivo.
<?php
if ( function_exists('register_sidebar') ) {
Después de eso si refrescamos podremos visualizar en nuestro panel de administrador nuestra nueva área para widgets y plugins en el cual podemos crear y meter lo que así quiéranos.
Ahora falta definirlo para que aparezca en nuestro tema en el front end o lo que es lo que el usuario ve finalmente que es lo que nos interesa para eso vamos a buscar en nuestro archivo donde observemos que se utilizan los div principales de maquetación de la plantilla, para mi caso se encuentra todo definido en el archivo header.php ubicado en \wp-content\themes\Aggregate\header.php en el cual podremos hacer escribir texto plano en cualquier ubicación donde veamos divs e ir ubicando en cual lugar queremos ubicar nuestro nueva area para widgets, en mi caso como l oqueiro colocar arriba del primer menú entonces la ubicación es despues del body pero antes del top header algo asi luce:
<body <?php body_class(); ?>>
Aqui colocare mi codigo para que aparezca el area de widget que me interesa
<?php do_action('et_header_top'); ?>
<div id="top-header">
Ahora bien para pintar el área de widget que creamos en el archivo sidebars.php vamos a tomar lo que pusimos en name en mi caso queda el archivo header.php de la siguiente manera
<!—todo el demás código- - >
<body <?php body_class(); ?>>
<div>
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Publicidad Arriba')) : ?>
ANUNCIATE EN MONITOR UNIVERSITARIO, CONTACTANOS...
<?php endif; ?>
</div>
<?php do_action('et_header_top'); ?>
<div id="top-header">
<!—todo el demás código- - >
Pues eso es todo en caso de que tengas dudas o comentarios realizalos en la parte de abajo o enviame un correo a la direccion de
Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
, saludos

