function genesis_skip_links() { if ( ! genesis_a11y( 'skip-links' ) ) { return; } // Call function to add IDs to the markup. genesis_skiplinks_markup(); // Determine which skip links are needed. $links = []; if ( genesis_nav_menu_supported( 'primary' ) && has_nav_menu( 'primary' ) ) { $links['genesis-nav-primary'] = esc_html__( 'Skip to primary navigation', 'genesis' ); } $links['genesis-content'] = esc_html__( 'Skip to main content', 'genesis' ); if ( 'full-width-content' !== genesis_site_layout() ) { $links['genesis-sidebar-primary'] = esc_html__( 'Skip to primary sidebar', 'genesis' ); } if ( in_array( genesis_site_layout(), [ 'sidebar-sidebar-content', 'sidebar-content-sidebar', 'content-sidebar-sidebar' ], true ) ) { $links['genesis-sidebar-secondary'] = esc_html__( 'Skip to secondary sidebar', 'genesis' ); } if ( current_theme_supports( 'genesis-footer-widgets' ) ) { $footer_widgets = get_theme_support( 'genesis-footer-widgets' ); if ( isset( $footer_widgets[0] ) && is_numeric( $footer_widgets[0] ) && is_active_sidebar( 'footer-1' ) && ! genesis_footer_widgets_hidden_on_current_page() ) { $links['genesis-footer-widgets'] = esc_html__( 'Skip to footer', 'genesis' ); } } /** * Filter the skip links. * * @since 2.2.0 * * @param array $links { * Default skiplinks. * * @type string HTML ID attribute value to link to. * @type string Anchor text. * } */ $links = (array) apply_filters( 'genesis_skip_links_output', $links ); // Write HTML, skiplinks in a list. $skiplinks = '<ul class="genesis-skip-link">'; // Add markup for each skiplink. foreach ( $links as $key => $value ) { $skiplinks .= '<li><a href="' . esc_url( '#' . $key ) . '" class="screen-reader-shortcut"> ' . $value . '</a></li>'; } $skiplinks .= '</ul>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $skiplinks; }