When you are in the area of North Northumberland, the one landmark that sticks out more than any other is Lindisfarne Castle. Visible for miles around, you can't help but notice this beautiful Castle built in the 1500's high on a volcanic mound to protect against Scottish invasion. Much of the stone used to build the Castle came from the Priory that had been deserted centuries before. Through the 1700's and 1800's the Castle was allowed to fall into a state of disrepair and it wasn't until it was bought by Edward Hudson (the founder of Country Life magazine) that something was done about it. He employed Sir Edwin Lutyens, a famous architect to convert the Castle into the massive house that it has now become.
The views from the Castle are simply breathtaking, some of the most attractive coastal visions you will ever see, so remember to bring your camera along with you. About 500 metres to the North of the Castle are it's walled gardens which were re-designed by Gertrude Jekyll in 1911 as part of the conversion of the Castle. The National Trust now look after Lindisfarne Castle and they have re-created Gertrude's original plans in the walled Garden once more. Behind the Castle there are also some extremely well preserved examples of Lime Kilns from the 19th Century (pictured below).
The Castle is open to visitors daily from April to October except for Mondays when it is shut (Excluding Bank Holidays). At other times of the year it is open at weekends and in school holidays. If you are visiting out of season it is best to check whether or not the Castle will be open. It should also point out that the National Trust only provide an 'emergency toilet' in the Castle, there are no public toilets. It is a lovely walk of about a mile from the Village along a coastal path to the Castle, however there is a minibus service available from the two main car parks to the Castle for the less mobile. Northumberland County Council publishes safe crossing times to Holy Island, visit Your Guide to Holy Island for more information about how to get there and what to do.
Your insider tip: You can no longer acces Lindisfarne Castle by car, it is quite a walk from the car park to the Castle. There are hopper buses that run from the car park to the castle for people with limited mobility.
Getting to Holy Island takes a bit of planning! Access to the Island is limited by the tide, twice a day at high tide the Island becomes inaccessible. Safe crossing times are published by Northumberland County Council and are available here, so that should be your first port of call when planning a visit to the Island. This doesn't seem to stop people from getting stuck however! Each year there are many reports of people 'risking it' and having to be rescued from one of the raised safety points on the causeway. Their cars aren't as lucky though and are generally ruined, so the lesson here is don't take risks!!
Getting here by car is easy, the causeway is not far from the A1, approximately 8 miles South of Berwick-Upon-Tweed, you need to take the crossroads East at Beal. From here it's just five miles to the Island. As you enter the Island by car, follow the road along for about a mile and on the left you will see a car park. Unless you have a disabled badge you must park here, there is no longer parking available on the road to the Castle as there used to be many years ago. If you require disabled parking continue on this road and take your first left where you will see the Coach and disable car park. There is a minibus service on the Island that links the two car parks and the Castle during it's opening hours for those not able or willing to walk from the Village.


text:
Q: How to check menu item class in Walker_Nav_Menu I have a custom two level menu in WordPress. There is an upper level and when you hover over the items, a submenu appears. Two menu items in the submenu have a button that is not in the other submenus. These two paragraphs have a "browse all" class. I need to check this class in Walker_Nav_Menu and add a custom button to the submenu. How can I check for class "browse all"?
In my code I'm creating a wrapper for ul.sub-menu. I need to check if there is a "browse all" class in the element in order to add a button to this wrapper. Such a button will only be in items with the "browse all" class.

class My_Walker extends Walker_Nav_Menu {
  function start_lvl( & $output, $depth = 0, $args = array()) {
    $indent = str_repeat("\t", $depth);
    if ($depth == 0) {
      $output. = "\n$indent

\n";
    } else {
      $output. = "\n$indent
\n";
    }
  }

  function end_lvl( & $output, $depth = 0, $args = array()) {
    $indent = str_repeat("\t", $depth);
    if ($depth == 0) {
      $output. = "$indent
 <
        /div>\n";
    } else {
      $output. = "$indent
\n";
    }
  }
}

Below is an example of how it should be:

class My_Walker extends Walker_Nav_Menu
{
    function start_lvl(&$output, $depth = 0, $args = array())
    {
        $indent = str_repeat("\t", $depth);
        if ($depth == 0) {
            $output .= "\n$indent

\n";
        } else {
            $output .= "\n$indent
\n";
        }
    }
    function end_lvl(&$output, $depth = 0, $args = array())
    {
        $indent = str_repeat("\t", $depth);
        if ($depth == 0) {
    //here, a button appears outside the sub-menu if the navigation element has the class "browse all"
            $output .= "$indent

    Browse All

\n";
        } else {
            $output .= "$indent
\n";
        }
    }
}

A: I don't think you can do that directly in start_lvl or end_level - because those only create the wrapping UL. But that one doesn't have the classes you are looking for, those are on the actual navigation items, and those are processed/rendered in start_el and end_el.
But I suppose you could add a property to the class, an array - and in that one you keep the info, whether the current (sub-)menu of the specific depth requires these additional elements to be added, or not.
class My_Walker extends Walker_Nav_Menu {

  private $needsCustomButtons = [];

  function start_lvl( & $output, $depth = 0, $args = array()) {
    $this->needsCustomButtons[$depth] = false;

    // rest of the stuff that needs doing here
  }

  public function start_el( &$output, $data_object, $depth = 0, $args = null, $current_object_id = 0 ) {
    // stuff

    $classes   = empty( $menu_item->classes ) ? array() : (array) $menu_item->classes;
    $classes[] = 'menu-item-' . $menu_item->ID;

    if(in_array('browse-all', $classes)) {
      $this->needsCustomButtons[$depth] = true;
    }

    // more stuff here

  }

  function end_lvl( & $output, $depth = 0, $args = array()) {
    // if $this->needsCustomButtons[$depth] is true here, then you know
    // your two extra nav items need adding, so concatenate them to
    // $output here, before the closing `</li>` tag gets added.
  }
}

redpajama_set_name: RedPajamaStackExchange