Si usted es un usuario ordinario de grandes sitios de comercio electrónico o de noticias, se notará que tienen secciones, con enlaces a todas las páginas en la sección que está actualmente. Agregar uno de estos a usted El sitio ayuda a los usuarios a encontrar contenido similar y reducirá su tasa de rechazo. Pero configurar un menú que detecta automáticamente en qué sección es un usuario y ofrece enlaces relevantes no es tan simple. Puede agregar un widget de menú personalizado a su barra lateral, pero mostraría el mismo menú en cada página de su sitio. Entonces, cómo agregar un menú que identifica automáticamente el lugar donde el usuario navega actualmente y ofrece enlaces a otras páginas que ¿sección?
En esta publicación, le mostraré cómo escribir un complemento que haga exactamente. Haz dos cosas:
En primer lugar, detecta en qué parte del sitio somos y cuál es la página de nivel superior para esa sección.
Luego, elimine una lista de todas las páginas secundarias de esa página de nivel superior, con un enlace a la página de nivel superior.
Finalmente, cree un widget que pueda usar para mostrar el menú de sección.
Si su usuario está en una página de segundo nivel, verá un enlace a la página anterior y todas sus páginas secundarias. Y si están en una página de nivel superior, verán un enlace a la misma página y a todos sus hijos.
Nota: Cargué el código para esta publicación en GitHub para que pueda verificarlo si está siguiendo. Lo que necesitará, esta es una publicación basada en código, por lo que necesitará algunas cosas si va a seguir:
Una instalación de desarrollo o prueba de WordPress. Un editor de códigos.
Nota: También ayuda si comprende cómo escribir complementos. Si esto es nuevo para usted, eche un vistazo a nuestro curso en el desarrollo de WordPress para principiantes. Crear el complemento iniciar creando el complemento vacío. En el directorio WP-Context/Plugins, cree una carpeta de complementos y luego dentro de ella cree un archivo PHP vacío. Dale un nombre que sea memorable y describa lo que hace el complemento.
Nota: Aunque por ahora mi complemento solo tiene un archivo, es una buena idea ponerlo en su propia carpeta, por lo que si desea agregar archivos adicionales, como una hoja de estilo, en una fecha posterior, puede hacerlo fácilmente . Abra el nuevo archivo y agréguelo:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Ahora, active su complemento a través de la pantalla de administración de complementos. Verificamos si estamos en una página de nivel superior primero, escribiremos una función que verifique si estamos en una página de nivel superior y, por lo tanto, guarda esa ID de página como una variable que podemos usar más adelante. Si estamos en una página de segundo nivel, identificará la página de nivel superior arriba y guardará la ID de la página respectiva.
En su complemento, agregue esto:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Pasemos por ese código para ver lo que hace:
Primero, llame a la variable Global $ Post, que utilizaremos en la oficina.
Use if ($ post-> post_parent) para verificar si la publicación actual tiene padres.
Si es así, usa array_reverse (get_post_ancestors ($> id) para tomar una lista de antepasados para la publicación actual y los guarda en una variable $ parent. Devuelve el antepasado de nivel superior usando devuelve $ parent [0].
Si la publicación actual no tiene antepasados, devuelve el ID de publicación actual.
Esto significa que esta característica devuelve una de dos cosas: la ID de publicación actual si es un nivel superior o la ID de su ancestro superior si tiene antepasados.
Luego usaremos esta identificación en nuestra próxima función. Lista de páginas en la sección actual El siguiente paso es usar esta ID para enumerar las páginas relevantes. Ahora, en el archivo del complemento, agregue una función vacía:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Necesitamos agregar dos cosas a esta función. Primero configuraremos las cosas llamando a la función WPMU_CHEK_FOR_TOP_PAGE () y definiendo los argumentos para get_pages () y wp_list_pages (). Luego agregaremos el código para eliminar esas páginas con enlaces. Primero juntemos las cosas. Dentro de la función vacía, agregue esto:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Llamamos a los resultados de nuestra primera función y la guardamos como una variable llamada $ ACES. Luego lo usamos como uno de los argumentos para get_pages (). Los argumentos también definen la profundidad de las listas y su título, que está en blanco. Ahora obtengamos esas páginas con enlaces. Aún en su posición, agregue eso:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Pasemos por esto:
Primero ejecutamos get_pages () usando nuestros argumentos y definimos esto como una nueva variable llamada $ list_pages.
Luego verificamos si nuestra variable está poblada, es decir, si get_pages () devuelve algo. Si abrimos un elemento.
El primer elemento de la lista es el antepasado mismo. Esto no será llamado por la función wp_list_pages (), porque todo volverá son los hijos del antepasado, por lo que la agregamos manualmente. Si no desea incluir la página de nivel superior en su lista, puede dejar esta fila fuera.
Luego ejecutamos wp_list_pages () con nuestros argumentos, que eliminarán una lista de páginas con enlaces.
Entonces este es nuestro código configurado. Si lo desea, simplemente puede agregar la función wpmu_list_subpages () en algún lugar de los archivos de plantilla de tema para ejecutar (por ejemplo, en la barra lateral). Pero nos da más flexibilidad si la convertimos en un widget, así que hagamos eso.
Creando un widget para eliminar nuestra lista de páginas No entraré en muchos detalles sobre cómo funciona el código para crear un widget, pero funcionaré paso a paso. Si desea obtener más información, puede trabajar publicando nuestro propio widget WordPress. El primer paso es configurar nuestra función de widget usando la clase WP_Widget. Agregue eso a su complemento:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Esta característica deberá contener cuatro cosas: la función del constructor para crear el widget, la función de formulario para eliminar un formulario en la pantalla de administración de widgets (y el personalizador), la función de actualización para guardar cualquier entrada en el formulario y, en final , la función para eliminar el contenido del widget en el sitio.

Dentro de su función, comience agregando la función de Builder:
Se carga el D3F7A2BBA519F51F9877E24803D9DE9EA esencial.
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Esto crea el código HTML que mostrará un formulario en sus pantallas de administración. El siguiente paso es agregar la función de actualización. Sin esto, no se guardará cualquier cosa de lo que agregue a las pantallas de administración:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Y finalmente agregue el código para eliminar el contenido del widget en el sitio:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Echemos un vistazo a lo que hace la última función:
Primero verifique si estamos en una página que no es la página inicial. Esto se debe al hecho de que la página inicial no tiene subpaginas, por lo que no debe mostrar un menú de sección. Si esto es diferente en su sitio, puede eliminar ese bit.
Luego, haga eco de cualquier argumento antes del widget, según lo definido por nuestra función de formulario, y define el título del widget (que puede editar en las pantallas de administración).
Luego cree un elemento aparte, elimine el título y ejecute wpmu_list_subpages () nuestro wpmu_list_subpages ().
Finalmente, cierre el elemento a un lado y agote cualquier argumento para después del widget.
Este es el widget configurado. Pero no funcionará hasta que lo grabes. Aquí está la función final que se agregará al complemento:
Cargue el esencial D3F7A2BBA519F51F9877E24803D9DA9E
Usando su widget en el sitio ahora tiene un complemento con un widget que mostrará automáticamente los menús de las secciones. Aquí está en la pantalla de administración de widgets:
Y también lo es el resultado en el frente del sitio: dado verdadero
A partir de ahora, cuando agrega nuevas páginas a la estructura de su sitio, se agregarán automáticamente al menú de sección para la sección relevante. ¡El trabajo hecho! Un menú automático de la sección ayudará a los usuarios a navegarlo en el sitio si su sitio se basa en una estructura de página jerárquica, y agregar los menús de la sección ayudará a los usuarios a encontrar contenido relacionado con la página que ven en el presente y navegar en el sitio. En la barra lateral, actúa como una ventaja útil para la navegación principal de su sitio. Puede personalizar este complemento para crear una lista de páginas en la sección actual en la parte inferior de cada página, por ejemplo, agregando imágenes presentadas. Esto implicaría agregar soporte para las imágenes presentadas en las páginas, así como en las publicaciones, ¿por qué no intentarlo?
¡Espero que hayas encontrado este tutorial de ayuda! Si tiene alguna pregunta sobre el código, pregunte en los comentarios a continuación.


Cómo codificar un widget de widget de sección automática de WordPress
Tags Cómo codificar un widget de widget de sección automática de WordPress
homefinance blog