Visualización de su widget de WordPress en el sitio

La etapa final de crear su widget es mostrar su salida en el sitio. Usted hace esto mediante la edición adicional de la WP_Widget clase.

Esta es la parte final de una serie de cinco partes que deberá seguir para llegar hasta aquí:

  • Introducción a los widgets y la API de widgets.
  • Codificando y registrando tu widget.
  • Construyendo tu widget
  • Construyendo el formulario para tu widget

Lo que necesitarás

Para seguir este tutorial, necesitarás:

  • Una instalación de desarrollo de WordPress.
  • Un editor de código
  • El código del tutorial anterior sobre cómo crear el formulario de tu widget.
  • El código de mi tutorial anterior sobre la navegación de la barra lateral sensible al contexto.

Codificando la salida del Widget

Hay dos partes para esto: agregar una función fuera del widget que identificará la página ancestral a usar, y editar el widget función dentro de la WP_Widget clase.

Añadiendo la función del antepasado

Esta función se toma directamente de mi tutorial anterior para crear un complemento para la navegación de barra lateral sensible al contexto.

Encima de tu WP_Widget clase, agregue la función a su archivo de complemento:

post_parent) // obtener la lista de ancestros $ parents = array_reverse (get_post_ancestors ($ post-> ID)); // obtener el ancestro de nivel superior return $ parents [0];  // devolver el ID: este será el antepasado superior si hay uno, o la página actual si no devuelve $ post-> ID; ?>

A continuación, utilizará esto más adelante cuando defina una consulta para ejecutar en el widget.

Edición de la función de widget

A continuación deberás editar el vacío. widget Función que creó anteriormente, en su archivo de plugin. Comience por definir la variable en función de la entrada del formulario:

función widget ($ args, $ instance) extract ($ args); echo $ before_widget; echo $ before_title. 'En esta sección:' . $ after_title; 

A continuación, agregue su consulta y su salida, editando la función para que se lea así:

widget de funciones ($ args, $ instance) // kick off off extract ($ args); echo $ before_widget; echo $ before_title. 'En esta sección:' . $ after_title; // ejecuta una consulta si en una página if (is_page ()) // ejecuta la función tutsplus_check_for_page_tree para buscar la página de nivel superior $ ancestor = tutsplus_check_for_page_tree (); // establece los argumentos para los hijos de la página del antepasado $ args = array ('child_of' => $ ancestor, 'depth' => $ instance ['depth'], 'title_li' => ",); // establece un valor para que get_pages verifique si está vacío $ list_pages = get_pages ($ args); // verifica si $ list_pages tiene valores si ($ list_pages) // abre una lista con la página del antepasado en la parte superior?> 
  • ">

Esto comprueba si estamos en una página y luego define los argumentos para el list_pages () función utilizando la salida de la función anterior y el valor de la $ profundidad variable que se establece por la forma del widget.

Ahora guarda tu widget y revisa tu sitio. Tu lista debe mostrarse donde hayas agregado el widget:

El complemento final

Ahora tienes un plugin de widget completo!

Para resumir lo que ha cubierto en los cinco tutoriales, a continuación se muestra cómo debe verse el código del complemento en su totalidad:

   post_parent) // obtener la lista de ancestros $ parents = array_reverse (get_post_ancestors ($ post-> ID)); // obtener el ancestro de nivel superior return $ parents [0];  // devolver el ID: este será el antepasado superior si hay uno, o la página actual si no devuelve $ post-> ID; ?>  __ ('Identifica dónde está la página actual en la estructura del sitio y muestra una lista de páginas en la misma sección del sitio. Solo funciona en Páginas.', 'Tutsplus')));  formulario de función ($ instancia) $ defaults = array ('depth' => '-1'); $ depth = $ instance ['depth']; // marcado para la forma?> 

$ ancestro, 'depth' => $ instance ['depth'], 'title_li' => ",); // establece un valor para que get_pages verifique si está vacío $ list_pages = get_pages ($ args); // verifica si $ list_pages tiene valores si ($ list_pages) // abrir una lista con la página del antepasado en la parte superior?>
  • ">

Resumen

Crear un widget implica algunos pasos. Estos son:

  • Registrando tu widget
  • Creando la clase para mantener las funciones del widget
  • Escribiendo un construir Función para construir tu widget.
  • Escribiendo un formar Función para el formulario en la pantalla Widgets.
  • Escribiendo un actualizar Funciona para que el widget pueda actualizarse desde el formulario.
  • Escribiendo un widget funcionar con la salida.

Una vez que hayas hecho todo esto, tendrás un widget de trabajo, que podrás adaptar como quieras..