Los menús de WordPress son realmente increíbles. La interfaz de arrastrar y soltar hace que sea mucho más fácil para los desarrolladores y usuarios de temas de WordPress. En el pasado, le mostramos cómo agregar un menú personalizado en WordPress y cómo diseñar un menú personalizado. Una cosa que es limitada acerca de la interfaz del menú visual es que solo puede agregar enlaces (páginas, categorías o enlaces personalizados). ¿Qué pasa si desea agregar un elemento personalizado a sus menús de WordPress? Es posible que desee agregar una barra de búsqueda, o un enlace de inicio de sesión / cierre de sesión, la fecha de hoy o cualquier otra cosa en un menú de WordPress. El hecho de que no haya una interfaz visual no significa que no sea posible. En este artículo, le mostraremos cómo usar el gancho wp_nav_menu_items para agregar elementos personalizados a todos o menús específicos de WordPress. Nota: Este tutorial está destinado a desarrolladores de temas de WordPress, por lo que se espera que conozca html / css básico y comprenda bien cómo funcionan los temas de WordPress. Obviamente, debe habilitar el menú personalizado en sus temas antes de poder continuar. Empecemos con lo básico. Necesitamos agregar nuestro propio filtro en el gancho wp_nav_menu_items. Un ejemplo se vería así: add_filter (‘wp_nav_menu_items’, ‘your_custom_menu_item’, 10, 2); function your_custom_menu_item ($ items, $ args) {if (is_single () && $ args-> theme_location == ‘primary’) {$ items. = ‘
‘; } devolver $ artículos; } Ahora, como puede ver, puede usar declaraciones condicionales con el argumento theme_location. Esto le permite apuntar a una ubicación de menú específica con cualquier condición que desee. Si no desea la declaración condicional, no tiene que usarla. Simplemente agréguelo a una ubicación de menú específica o viceversa. Ahora que ha visto un ejemplo básico, permítanos mostrarle algunos ejemplos específicos de cómo funcionaría.
Contents
Si desea dar a sus usuarios la opción de iniciar sesión / cerrar sesión, solo un lugar donde puede agregar los enlaces es en su menú personalizado. El fragmento a continuación mostrará los enlaces de inicio de sesión / cierre de sesión a sus usuarios de manera apropiada en la ubicación del menú: principal. Puede cambiar la ubicación del menú si lo desea. add_filter (‘wp_nav_menu_items’, ‘add_loginout_link’, 10, 2); function add_loginout_link ($ items, $ args) {if (is_user_logged_in () && $ args-> theme_location == ‘principal’) {$ items. = ‘
‘; } elseif (! is_user_logged_in () && $ args-> theme_location == ‘principal’) {$ elementos. = ‘
‘; } devolver $ artículos; }
¿Quiere agregar una barra de búsqueda a un menú específico? Bueno, no busques más. Puede hacer esto pegando el siguiente fragmento: add_filter (‘wp_nav_menu_items’, ‘add_search_box_to_menu’, 10, 2); function add_search_box_to_menu ($ items, $ args) {if ($ args-> theme_location == ‘primary’) return $ items. «
«; devuelve $ elementos;}
El fragmento a continuación agregará la fecha de hoy a su menú de WordPress. Puede utilizar nuestro manual de fecha de hoy para cambiar el código si lo desea. add_filter (‘wp_nav_menu_items’, ‘add_todaysdate_in_menu’, 10, 2); function add_todaysdate_in_menu ($ elementos, $ args) {if ($ args-> theme_location == ‘principal’) {$ todaysdate = date (‘l jS F Y’); $ artículos. = ‘
‘; } devolver $ artículos; } Esperamos que este artículo permita a los desarrolladores ampliar la funcionalidad de sus temas.
Originally posted 2021-02-25 12:33:50.