Задать вопрос
  • Как на Wordpress реализовать региональный сайт (каждый город со своим контентом) на одном шаблоне?

    @seok80 Автор вопроса
    Какие есть еще идеи кроме мультисайта на вордпресс?
    Ответ написан
    Комментировать
  • Как вывести хлебные крошки вордпресс по структуре меню?

    @seok80 Автор вопроса
    Нашел такой код. Он рабочий. Но проблема возникает когда меню без подпунктов. Тогда отображается только пункт текущего меню. А пункт первого меню не показывается.
    Помогите модернизировать код.

    // helper function to find a menu item in an array of items
    function wpd_get_menu_item( $field, $object_id, $items ){
        foreach( $items as $item ){
            if( $item->$field == $object_id ) return $item;
        }
        return false;
    }
    
    function wpd_nav_menu_breadcrumbs( $menu ){
        // get menu items by menu id, slug, name, or object
        $items = wp_get_nav_menu_items( $menu );
        if( false === $items ){
            echo 'Menu not found';
            return;
        }
        // get the menu item for the current page
        $item = wpd_get_menu_item( 'object_id', get_queried_object_id(), $items );
        if( false === $item ){
            return;
        }
        // start an array of objects for the crumbs
        $menu_item_objects = array( $item );
        // loop over menu items to get the menu item parents
        while( 0 != $item->menu_item_parent ){
            $item = wpd_get_menu_item( 'ID', $item->menu_item_parent, $items );
            array_unshift( $menu_item_objects, $item );
        }
    	
    $mode = current($items);	
        // output crumbs
        $crumbs = array(); 
        foreach( $menu_item_objects as $menu_item ){
    		$lastEl = array_values(array_slice($crumbs, -1))[0];
    		if(!$lastEl){
    			$link = '<a href="%s">%s</a>';
                $crumbs[] = sprintf( $link, $menu_item->url, $menu_item->title );
    		}else if($lastEl) {
    			$link = '%s';
                $crumbs[] = sprintf($menu_item->title);
    		}
            
        }
    	
        echo join( ' / ', $crumbs );
    }
    Ответ написан
    Комментировать