learn.php
2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
add_shortcode( 'breadcrumbs', 'the_bread' );
function the_bread() {
if(!is_admin()){
$ingredients = array(
'separator' => ' | ',
'offset' => -3,
'length' => 3,
);
ob_start();
$flour = $_SERVER['REQUEST_URI'];
if ( str_contains( $flour, '?' ) )
$flour = substr( $flour, 0, strpos( $flour, '?' ) );
$flour = ( str_ends_with( $flour, '/' ) ? explode( '/', substr( $flour, 1, -1 ) ) : explode( '/', substr( $flour, 1 ) ) );
$crumbs = [];
foreach ( $flour as $crumb ) {
$slug = esc_html( $crumb );
$url = esc_url( $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . '/' . substr( implode( '/', $flour ), 0, strpos( implode( '/', $flour ), $crumb ) ) . $crumb. '/' );
array_push( $crumbs, ( object )
[
'slug' => $slug,
'url' => $url,
]
);
};
$offset = ( empty( $ingredients['offset'] ) ? 0 : $ingredients['offset'] );
$length = ( empty( $ingredients['length'] ) ? null : $ingredients['length'] );
$crumbs = array_slice( $crumbs, $offset, $length );
echo '<ul class="bread">';
$i = 0;
if ( is_singular( 'sfwd-lessons' ) ) {
echo '<li class="crumb" itemprop="itemListElement">
<a class="item" itemprop="item" href="https://thecommonwell.ca/learning-2/">
<span itemprop="name">Learning Opportunities</span>
</a>
<meta itemprop="position" content="1">
</li>>';
}
foreach ( $crumbs as $crumb ) {
$i++;
echo '<li class="crumb" itemprop="itemListElement">
<a class="item" itemprop="item" href="' . $crumb->url . '">
<span itemprop="name">' . ( url_to_postid( $crumb->url ) ? get_the_title( url_to_postid( $crumb->url ) ) : ucfirst( str_replace( '-', ' ', $crumb->slug ) ) ) . '</span>
</a>
<meta itemprop="position" content="' . $i . '">
</li>';
if ( $i !== sizeof( $crumbs ) && ! empty( $ingredients['separator'] ) )
echo $ingredients['separator'];
};
echo '</ul>';
$output = ob_get_clean();
return $output;
}
};