multisite – ¿Utilice wp_nav_menu () para mostrar un menú de otro sitio en una instalación de red?

Pregunta:

Así que básicamente estoy actualizando un sitio antiguo y necesito hacerlo multisitio también para algunos blogs y demás.

Me gustaría tener el menú principal del sitio (creado por el administrador) disponible en los otros sitios de una manera elegante. Es decir, cada sitio tiene un tema y sería bueno si pudiera simplemente wp_nav_menu () en cada uno.

¿Algunas ideas?

Eché un vistazo a switch_to_blog () pero veo que está obsoleto.

¡Salud!

Respuesta:

Esto es lo que he usado recientemente. Es muy simple pero me funciona bien.

    function wp_multisite_nav_menu( $args = array(), $origin_id = 1 ) {

        global $blog_id;
        $origin_id = absint( $origin_id );

        if ( !is_multisite() || $origin_id == $blog_id ) {
            wp_nav_menu( $args );
            return;
        }

        switch_to_blog( $origin_id );
        wp_nav_menu( $args );   
        restore_current_blog();

    }

He incluido esto en un archivo mu-plugin que alberga una gran cantidad de pequeños ganchos y funciones destinadas a ejecutarse en toda la red.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım