$value ) { if ( 'tag' === $value ) { unset( $classes[ $key ] ); } } return $classes; } } // Filter custom logo with correct classes. add_filter( 'get_custom_logo', 'understrap_change_logo_class' ); if ( ! function_exists( 'understrap_change_logo_class' ) ) { /** * Replaces logo CSS class. * * @param string $html Markup. * * @return string */ function understrap_change_logo_class( $html ) { $html = str_replace( 'class="custom-logo"', 'class="img-fluid"', $html ); $html = str_replace( 'class="custom-logo-link"', 'class="navbar-brand custom-logo-link"', $html ); $html = str_replace( 'alt=""', 'title="Home" alt="logo"', $html ); return $html; } } if ( ! function_exists( 'understrap_post_nav' ) ) { /** * Display navigation to next/previous post when applicable. */ function understrap_post_nav() { // Don't print empty markup if there's nowhere to navigate. $previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true ); $next = get_adjacent_post( false, '', false ); if ( ! $next && ! $previous ) { return; } ?> %link', _x( ' %title', 'Previous post link', 'understrap' ) ); } if ( get_next_post_link() ) { next_post_link( '%link', _x( '%title ', 'Next post link', 'understrap' ) ); } ?> ' . "\n"; } } } add_action( 'wp_head', 'understrap_pingback' ); if ( ! function_exists( 'understrap_mobile_web_app_meta' ) ) { /** * Add mobile-web-app meta. */ function understrap_mobile_web_app_meta() { echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; } } add_action( 'wp_head', 'understrap_mobile_web_app_meta' ); if ( ! function_exists( 'understrap_default_body_attributes' ) ) { /** * Adds schema markup to the body element. * * @param array $atts An associative array of attributes. * @return array */ function understrap_default_body_attributes( $atts ) { $atts['itemscope'] = ''; $atts['itemtype'] = 'http://schema.org/WebSite'; return $atts; } } add_filter( 'understrap_body_attributes', 'understrap_default_body_attributes' ); // Escapes all occurances of 'the_archive_description'. add_filter( 'get_the_archive_description', 'understrap_escape_the_archive_description' ); if ( ! function_exists( 'understrap_escape_the_archive_description' ) ) { /** * Escapes the description for an author or post type archive. * * @param string $description Archive description. * @return string Maybe escaped $description. */ function understrap_escape_the_archive_description( $description ) { if ( is_author() || is_post_type_archive() ) { return wp_kses_post( $description ); } else { /* * All other descriptions are retrieved via term_description() which returns * a sanitized description. */ return $description; } } } // End of if function_exists( 'understrap_escape_the_archive_description' ). // Escapes all occurances of 'the_title()' and 'get_the_title()'. add_filter( 'the_title', 'understrap_kses_title' ); // Escapes all occurances of 'the_archive_title' and 'get_the_archive_title()'. add_filter( 'get_the_archive_title', 'understrap_kses_title' ); if ( ! function_exists( 'understrap_kses_title' ) ) { /** * Sanitizes data for allowed HTML tags for post title. * * @param string $data Post title to filter. * @return string Filtered post title with allowed HTML tags and attributes intact. */ function understrap_kses_title( $data ) { // Tags not supported in HTML5 are not allowed. $allowed_tags = array( 'abbr' => array(), 'aria-describedby' => true, 'aria-details' => true, 'aria-label' => true, 'aria-labelledby' => true, 'aria-hidden' => true, 'b' => array(), 'bdo' => array( 'dir' => true, ), 'blockquote' => array( 'cite' => true, 'lang' => true, 'xml:lang' => true, ), 'cite' => array( 'dir' => true, 'lang' => true, ), 'dfn' => array(), 'em' => array(), 'i' => array( 'aria-describedby' => true, 'aria-details' => true, 'aria-label' => true, 'aria-labelledby' => true, 'aria-hidden' => true, 'class' => true, ), 'code' => array(), 'del' => array( 'datetime' => true, ), 'ins' => array( 'datetime' => true, 'cite' => true, ), 'kbd' => array(), 'mark' => array(), 'pre' => array( 'width' => true, ), 'q' => array( 'cite' => true, ), 's' => array(), 'samp' => array(), 'span' => array( 'dir' => true, 'align' => true, 'lang' => true, 'xml:lang' => true, ), 'small' => array(), 'strong' => array(), 'sub' => array(), 'sup' => array(), 'u' => array(), 'var' => array(), ); $allowed_tags = apply_filters( 'understrap_kses_title', $allowed_tags ); return wp_kses( $data, $allowed_tags ); } } // End of if function_exists( 'understrap_kses_title' ).