Tagged: php error
- This topic has 1 reply, 2 voices, and was last updated 5 years, 9 months ago by
Skandha.
-
AuthorPosts
-
May 6, 2019 at 3:20 pm #3451
Edwardtonnn
ParticipantHi,
wordpress 5.1.1
php version 7.0.33Getting the following error:
Notice: Undefined index: breadcrumb_home_icon in /var/www/vhosts/ppmco.net/httpdocs/wp-content/plugins/catch-breadcrumb/includes/shortcodes.php on line 95
shortcodes.php file:
<?php
/**
*
*
* @link https://catchplugins.com/plugins
* @since 1.0.0
*
* @package breadcrumb
* @subpackage Breadcrumb/includes
*//**
*
*
* @package Breadcrumb
* @subpackage Breadcrumb/includes
* @author Catch Plugins <[email protected]
*/class Catch_Breadcrumb_Shortcode {
public function __construct() {
add_shortcode( ‘catch-breadcrumb’, array( $this, ‘catch_breadcrumb_shortcode’ ) );
}public function catch_display_breadcrumb(){
do_shortcode( ‘[catch-breadcrumb]’ );
}public function catch_breadcrumb_shortcode( $atts,$content ) {
if ( function_exists( ‘woocommerce_breadcrumb’ ) && ( is_woocommerce() || is_shop() ) ) : ?>
<div class=”breadcrumb-area”>
<div class=”section-wrapper”>
<?php
$catch_breadcrumb_options = catch_breadcrumb_get_options();
$breadcrumb_separator = $catch_breadcrumb_options[‘breadcrumb_separator’];if ( $breadcrumb_separator ) {
$breadcrumb_separator = ‘<span class=”sep”>’ . $breadcrumb_separator . ‘</span>’;
}$args = array(
‘delimiter’ => $breadcrumb_separator,
‘before’ => ‘<span class=”breadcrumb”>’,
‘after’ => ‘</span>’,
);woocommerce_breadcrumb( $args );
?>
</div><!– .wrapper –>
</div><!– .breadcrumb-area –>
<?php
else:
self::breadcrumb( $atts,$content );
endif;
}public function breadcrumb( $atts,$content ) {
$defaults = array(
‘before’ => ‘<span class=”breadcrumb-current”>’,// code before the breadcrumb section
‘after’ => ‘</span>’, // code after the breadcrumb section
‘showCurrent’=> 1,// 1 – show current post/page title in breadcrumbs, 0 – don’t show
//’echo’ => true,
‘linkBefore’ => ‘<span class=”breadcrumb” typeof=”v:Breadcrumb”>’,
‘linkAfter’ => ‘</span>’,
);
$atts = wp_parse_args( $atts, $defaults );
$content= $atts[‘before’];
$catch_breadcrumb_options = catch_breadcrumb_get_options();
if ( $catch_breadcrumb_options[‘breadcrumb_separator’] ) {
$catch_breadcrumb_options[‘breadcrumb_separator’] = ‘<span class=”sep”>’ . $catch_breadcrumb_options[‘breadcrumb_separator’] . ‘</span>’;
}/* === OPTIONS === */
$text[‘home’] = esc_html__( ‘Home’, ‘catch-breadcrumb’ ); // text for the ‘Home’ link
/* translators: 1: before text/html, 2: after text/html. */
$text[‘category’] = esc_html__( ‘%1$s Archive for %2$s’, ‘catch-breadcrumb’ ); // text for a category page
/* translators: 1: before text/html, 2: after text/html. */
$text[‘search’] = esc_html__( ‘%1$sSearch results for: %2$s’, ‘catch-breadcrumb’ ); // text for a search results page
/* translators: 1: before text/html, 2: after text/html. */
$text[‘tag’] = esc_html__( ‘%1$sPosts tagged %2$s’, ‘catch-breadcrumb’ ); // text for a tag page
/* translators: 1: before text/html, 2: after text/html. */
$text[‘author’] = esc_html__( ‘%1$sView all posts by %2$s’, ‘catch-breadcrumb’ ); // text for an author page
$text[‘404’] = esc_html__( ‘Error 404’, ‘catch-breadcrumb’ ); // text for the 404 page
/* === END OF OPTIONS === */
global $post, $paged, $page;
$homeLink = home_url( ‘/’ );
$style = ”;
if( $style ){
echo ‘<style>’ . $style . ‘</style>’;
}
$linkAttr = ‘ rel=”v:url” property=”v:title”‘;
$home_icon = ”;if ( $catch_breadcrumb_options[‘breadcrumb_home_icon’] ){
$home_icon = ‘<span class=”fa fa-home”></span>’;
}$link_home = $atts[‘linkBefore’] . ‘<a’ . $linkAttr . ‘ href=”%1$s”>’. $home_icon . ‘%2$s‘ . wp_kses_post( $catch_breadcrumb_options[‘breadcrumb_separator’] ) . $atts[‘linkAfter’];
$link = $atts[‘linkBefore’] . ‘<a’ . $linkAttr . ‘ href=”%1$s”>’ . ‘%2$s‘ . wp_kses_post( $catch_breadcrumb_options[‘breadcrumb_separator’] ) . $atts[‘linkAfter’];
if ( is_front_page() ) {
if ( $catch_breadcrumb_options[‘breadcrumb_display_home’] ) {
echo ‘
<div class=”catch-breadcrumb breadcrumb-area custom”>
<nav class=”entry-breadcrumbs”>’;
echo $atts[‘linkBefore’] . ‘‘ . $home_icon . $text[‘home’] . ‘‘ . $atts[‘linkAfter’];
echo ‘</nav><!– .entry-breadcrumbs –>
</div><!– .breadcrumb-area –>’;$atts[‘linkAfter’];
}
} else {echo ‘<div class=”catch-breadcrumb breadcrumb-area custom”>
<nav class=”entry-breadcrumbs”>’;
echo sprintf( $link_home, esc_url( $homeLink ), $text[‘home’] ); // WPCS: XSS OK.if ( is_home() ) {
echo $content . esc_html( get_the_title( get_option( ‘page_for_posts’, true ) ) ) . $atts[‘after’]; // WPCS: XSS OK.
} elseif ( is_category() ) {
$thisCat = get_category( get_query_var( ‘cat’ ), false );
if ( $thisCat->parent != 0 ) {
$cats = get_category_parents( $thisCat->parent, true, false );
$cats = str_replace( ‘<a’, $atts[‘linkBefore’] . ‘<a’ . $linkAttr, $cats );
$cats = str_replace( ‘‘, ‘‘ . wp_kses_post( $catch_breadcrumb_options[‘breadcrumb_separator’]) . $atts[‘linkAfter’], $cats );
echo $cats;
// WPCS: XSS OK.
}the_archive_title( $content . sprintf( $text[‘category’], ‘<span class=”archive-text”>’, ‘</span>’ , $atts[‘after’] ));
} elseif ( is_search() ) {
echo $content . sprintf( $text[‘search’], ‘<span class=”search-text”>’, ‘</span>’ . get_search_query() ) . $atts[‘after’];
// WPCS: XSS OK.
} elseif ( is_day() ) {
echo sprintf( $link, esc_url( get_year_link( get_the_time( __( ‘Y’, ‘catch-breadcrumb’ ) ) ) ), esc_html( get_the_time( __( ‘Y’, ‘catch-breadcrumb’ ) ) ) ) ;
// WPCS: XSS OK.
echo sprintf( $link, esc_url( get_month_link( get_the_time( __( ‘Y’, ‘catch-breadcrumb’ ) ) ) ), esc_html(get_the_time( __( ‘F’, ‘catch-breadcrumb’ ) ) ) );
// WPCS: XSS OK.
echo $content . esc_html( get_the_time( __( ‘d’, ‘catch-breadcrumb’ ) ) ) . $atts[‘after’];
// WPCS: XSS OK.
} elseif ( is_month() ) {
echo sprintf( $link, esc_url( get_year_link( get_the_time( __( ‘Y’, ‘catch-breadcrumb’ ) ) ) ), esc_html( get_the_time( __( ‘Y’, ‘catch-breadcrumb’ ) ) ) ) ;
// WPCS: XSS OK.
echo $content . esc_html( get_the_time( __( ‘F’, ‘catch-breadcrumb’ ) ) ) . $atts[‘after’];
// WPCS: XSS OK.
} elseif ( is_year() ) {
echo $content . esc_html( get_the_time( __( ‘Y’, ‘catch-breadcrumb’ ) ) ) . $atts[‘after’];
// WPCS: XSS OK.
} elseif ( is_single() && !is_attachment() ) {
if ( get_post_type() != ‘post’ ) {
$post_type = get_post_type_object( get_post_type() );
$post_link = get_post_type_archive_link( $post_type->name );
printf( $link, esc_url( $post_link ), esc_html( $post_type->labels->singular_name ) );
// WPCS: XSS OK.
echo $content . esc_html( get_the_title() ) . $atts[‘after’];
// WPCS: XSS OK
}
else {
$cat = get_the_category();
$cat = $cat[0];
$cats = get_category_parents( $cat, true, ” );
$cats = preg_replace( “#^(.+)$#”, “$1”, $cats );
$cats = str_replace( ‘<a’, $atts[‘linkBefore’] . ‘<a’ . $linkAttr, $cats );
$cats = str_replace( ‘‘, ‘‘ . wp_kses_post( $catch_breadcrumb_options[‘breadcrumb_separator’] ) . $atts[‘linkAfter’], $cats );
echo $cats;
// WPCS: XSS OK.echo $content . esc_html( get_the_title() ) . $atts[‘after’];
// WPCS: XSS OK.
}
} elseif ( !is_single() && !is_page() && get_post_type() != ‘post’ && !is_404() ) {
$post_type = get_post_type_object( get_post_type() );
echo isset( $post_type->labels->singular_name ) ? $content. esc_html( $post_type->labels->singular_name ) . $atts[‘after’]: ”;
// WPCS: XSS OK.
} elseif ( is_attachment() ) {
$parent = get_post( $post->post_parent );
$cat = get_the_category( $parent->ID );
if ( isset( $cat[0] ) ) {
$cat = $cat[0];
}
if ( $cat ) {
$cats = get_category_parents( $cat, true );
$cats = str_replace( ‘<a’, $atts[‘linkBefore’] . ‘<a’ . $linkAttr, $cats );
$cats = str_replace( ‘‘, ‘‘ . wp_kses_post( $catch_breadcrumb_options[‘breadcrumb_separator’] ) . $atts[‘linkAfter’], $cats );
echo $cats;
// WPCS: XSS OK.
}
printf( $link, esc_url( get_permalink( $parent ) ), esc_html( $parent->post_title ) );
// WPCS: XSS OK.
echo $content . esc_html( get_the_title() ) . $atts[‘after’];
// WPCS: XSS OK.
} elseif ( is_page() && ! $post->post_parent ) {
echo $content. esc_html( get_the_title() ) . $atts[‘after’]; // WPCS: XSS O
} elseif ( is_page() && $post->post_parent ) {
$parent_id = $post->post_parent;
$breadcrumbs = array();
while( $parent_id ) {
$page_child = get_post( $parent_id );
$breadcrumbs[] = sprintf( $link, esc_url( get_permalink( $page_child->ID ) ), esc_html( get_the_title( $page_child->ID ) ) );
$parent_id = $page_child->post_parent;
}
$breadcrumbs = array_reverse( $breadcrumbs );
for( $i = 0; $i < count( $breadcrumbs ); $i++ ) {
echo $breadcrumbs[$i];
// WPCS: XSS OK.
}
echo $content . esc_html( get_the_title() ) . $atts[‘after’];
// WPCS: XSS OK.
} elseif ( is_tag() ) {
the_archive_title( $content . sprintf( $text[‘tag’], ‘<span class=”tag-text”>’, ‘</span>’ ), $atts[‘after’] );
// WPCS: XSS OK
} elseif ( is_author() ) {
global $author;
$userdata = get_userdata( $author );
echo $content . sprintf( $text[‘author’], ‘<span class=”author-text”>’, ‘</span>’ . $userdata->display_name ) . $atts[‘after’];
// WPCS: XSS OK
} elseif ( is_404() ) {
echo $content . $text[‘404’] . $atts[‘after’];
// WPCS: XSS OK.
}
if ( get_query_var( ‘paged’ ) ) {
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) {
echo ‘ (‘;
}/* translators: %s: current page number. */
echo sprintf( esc_html__( ‘Page %s’, ‘catch-breadcrumb’ ), absint( max( $paged, $page ) ) );
if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) {
echo ‘)’;
}}
echo ‘</nav><!– .entry-breadcrumbs –>
</div><!– .breadcrumb-area –>’;
}
}}
new Catch_Breadcrumb_Shortcode();
May 8, 2019 at 12:34 am #3501Skandha
Participant@edwardtonnn: Hello Edward,
The issue has been fixed and an update has been released. Please update the theme and let me know if the issue is fixed. Thank you for reporting the issue.Kind Regards,
Skandha -
AuthorPosts
- The topic ‘Catch Breadcrumb | Shortcodes Error’ is closed to new replies.