Schema.org microdata that can handle variations in site structure more accurately than any other breadcrumb plugin for WordPress. Insert into your theme with the breadcrumb_trail()
template tag.
* Version: 1.1.0
* Author: Justin Tadlock
* Author URI: https://themehybrid.com
* Text Domain: breadcrumb-trail
* Domain Path: /lang
*/
# Extra check in case the script is being loaded by a theme.
if ( ! function_exists( 'breadcrumb_trail' ) )
require_once( 'inc/breadcrumbs.php' );
# Plugin setup callback.
add_action( 'plugins_loaded', 'breadcrumb_trail_setup' );
# Check theme support. */
add_action( 'after_setup_theme', 'breadcrumb_trail_theme_setup', 12 );
/**
* Plugin setup. For now, it just loads the translation.
*
* @since 1.1.0
* @access public
* @return void
*/
function breadcrumb_trail_setup() {
load_plugin_textdomain( 'magnitude', false, trailingslashit( dirname( plugin_basename( __FILE__ ) ) ) . 'lang' );
}
/**
* Checks if the theme supports the Breadcrumb Trail script. If it doesn't, we'll hook some styles
* into the header.
*
* @since 1.0.0
* @access public
* @return void
*/
function breadcrumb_trail_theme_setup() {
if ( ! current_theme_supports( 'breadcrumb-trail' ) )
add_action( 'wp_head', 'breadcrumb_trail_print_styles' );
}
/**
* Prints CSS styles in the header for themes that don't support Breadcrumb Trail.
*
* @since 1.0.0
* @access public
* @return void
*/
function breadcrumb_trail_print_styles() {
$style = '
.breadcrumbs .trail-browse,
.breadcrumbs .trail-items,
.breadcrumbs .trail-items li {
display: inline-block;
margin: 0;
padding: 0;
border: none;
background: transparent;
text-indent: 0;
}
.breadcrumbs .trail-browse {
font-size: inherit;
font-style: inherit;
font-weight: inherit;
color: inherit;
}
.breadcrumbs .trail-items {
list-style: none;
}
.trail-items li::after {
content: "\002F";
padding: 0 0.5em;
}
.trail-items li:last-of-type::after {
display: none;
}';
$style = apply_filters( 'breadcrumb_trail_inline_style', trim( str_replace( array( "\r", "\n", "\t", " " ), '', $style ) ) );
if ( $style )
echo "\n" . '' . "\n";
}