Title: PHP error: CATCHABLE FATAL ERROR:
Last modified: February 26, 2018

---

# PHP error: CATCHABLE FATAL ERROR:

 *  [yard](https://wordpress.org/support/users/yard/)
 * (@yard)
 * [8 years, 3 months ago](https://wordpress.org/support/topic/php-error-catchable-fatal-error/)
 * I have trouble with theme Archi, on page
 * [http://www.sadarch.sk/o-nas/o-nas-2/](http://www.sadarch.sk/o-nas/o-nas-2/)
 * this error
 * DOMOV /
    `CATCHABLE FATAL ERROR: OBJECT OF CLASS WP_ERROR COULD NOT BE CONVERTED
   TO STRING IN /HOME/OA004100/SADARCH_SK/WP-CONTENT/THEMES/ARCHI/FUNCTIONS.PHP 
   ON LINE 486`
 * line 486 – sadarch_sk/wp-content/themes/archi/functions.php:
 * `$cats = str_replace('<a', $linkBefore . '<a' . $linkAttr, $cats);`
 * Whole function code:
 *     ```
       function archi_breadcrumbs() {
           $text['home']     = __('Home', 'archi'); // text for the 'Home' link
           $text['category'] = '%s'; // text for a category page
           $text['tax']      = '%s'; // text for a taxonomy page
           $text['search']   = '%s'; // text for a search results page
           $text['tag']      = '%s'; // text for a tag page
           $text['author']   = '%s'; // text for an author page
           $text['404']      = '404'; // text for the 404 page
           $showCurrent = 1; // 1 - show current post/page title in breadcrumbs, 0 - don't show
           $showOnHome  = 0; // 1 - show breadcrumbs on the homepage, 0 - don't show
           $delimiter   = ' <b>/</b> '; // delimiter between crumbs
           $before      = '<li class="active">'; // tag before the current crumb
           $after       = '</li>'; // tag after the current crumb
   
           global $post;
           $homeLink = esc_url(home_url('/')) . '';
           $linkBefore = '<li>';
           $linkAfter = '</li>';
           $linkAttr = ' rel="v:url" property="v:title"';
           $link = $linkBefore . '<a' . $linkAttr . ' href="%1$s">%2$s</a>' . $linkAfter;
   
           if (is_home() || is_front_page()) {
   
               if ($showOnHome == 1) echo '<div id="crumbs"><a href="' . $homeLink . '">' . $text['home'] . '</a></div>';
   
           } else {
   
               echo '<ul class="crumb">' . sprintf($link, $homeLink, $text['home']) . $delimiter;
   
   
               if ( is_category() ) {
                   $thisCat = get_category(get_query_var('cat'), false);
                   if ($thisCat->parent != 0) {
                       $cats = get_category_parents($thisCat->parent, TRUE, $delimiter);
                       $cats = str_replace('<a', $linkBefore . '<a' . $linkAttr, $cats);
                       $cats = str_replace('</a>', '</a>' . $linkAfter, $cats);
                       echo htmlspecialchars_decode( $cats );
                   }
                   echo htmlspecialchars_decode( $before ) . sprintf($text['category'], single_cat_title('', false)) . htmlspecialchars_decode( $after );
   
               } elseif( is_tax() ){
                   $thisCat = get_category(get_query_var('cat'), false);
                   if ($thisCat->parent != 0) {
                       $cats = get_category_parents($thisCat->parent, TRUE, $delimiter);
                       $cats = str_replace('<a', $linkBefore . '<a' . $linkAttr, $cats);
                       $cats = str_replace('</a>', '</a>' . $linkAfter, $cats);
                       echo htmlspecialchars_decode( $cats );
                   }
                   echo htmlspecialchars_decode( $before ) . sprintf($text['tax'], single_cat_title('', false)) . htmlspecialchars_decode( $after );
   
               }elseif ( is_search() ) {
                   echo htmlspecialchars_decode( $before ) . sprintf($text['search'], get_search_query()) . htmlspecialchars_decode( $after );
   
               } elseif ( is_day() ) {
                   echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $delimiter;
                   echo sprintf($link, get_month_link(get_the_time('Y'),get_the_time('m')), get_the_time('F')) . $delimiter;
                   echo htmlspecialchars_decode( $before ) . get_the_time('d') . htmlspecialchars_decode( $after );
   
               } elseif ( is_month() ) {
                   echo sprintf($link, get_year_link(get_the_time('Y')), get_the_time('Y')) . $delimiter;
                   echo htmlspecialchars_decode( $before ) . get_the_time('F') . htmlspecialchars_decode( $after );
   
               } elseif ( is_year() ) {
                   echo htmlspecialchars_decode( $before ) . get_the_time('Y') . htmlspecialchars_decode( $after );
   
               } elseif ( is_single() && !is_attachment() ) {
                   if ( get_post_type() != 'post' ) {
                       $post_type = get_post_type_object(get_post_type());
                       $slug = $post_type->rewrite;                
                       if ( get_post_type() == 'portfolio' ) {
                           printf($link, $homeLink . '' . $slug['slug'] . '/', 'portfolio'); //Translate portfolio breadcrumb.
                       }elseif (get_post_type() == 'service') {
                           printf($link, $homeLink . '' . $slug['slug'] . '/', 'service'); //Translate service breadcrumb.
                       }else{
                           printf($link, $homeLink . '' . $slug['slug'] . '/', $post_type->labels->singular_name);
                       }
                       if ($showCurrent == 1) echo htmlspecialchars_decode( $delimiter ) . $before . get_the_title() . $after;
                   } else {
                       $cat = get_the_category(); $cat = $cat[0];
                       $cats = get_category_parents($cat, TRUE, $delimiter);
                       if ($showCurrent == 0) $cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
                       $cats = str_replace('<a', $linkBefore . '<a' . $linkAttr, $cats);
                       $cats = str_replace('</a>', '</a>' . $linkAfter, $cats);
                       echo htmlspecialchars_decode( $cats );
                       if ($showCurrent == 1) echo htmlspecialchars_decode( $before ) . get_the_title() . $after;
                   }
   
               } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
                   $post_type = get_post_type_object(get_post_type());
                   echo htmlspecialchars_decode( $before ) . $post_type->labels->singular_name . htmlspecialchars_decode( $after );
   
               } elseif ( is_attachment() ) {
                   $parent = get_post($post->post_parent);
                   $cat = get_the_category($parent->ID); $cat = $cat[0];
                   $cats = get_category_parents($cat, TRUE, $delimiter);
                   $cats = str_replace('<a', $linkBefore . '<a' . $linkAttr, $cats);
                   $cats = str_replace('</a>', '</a>' . $linkAfter, $cats);
                   echo htmlspecialchars_decode( $cats );
                   printf($link, get_permalink($parent), $parent->post_title);
                   if ($showCurrent == 1) echo htmlspecialchars_decode( $delimiter ) . $before . get_the_title() . $after;
   
               } elseif ( is_page() && !$post->post_parent ) {
                   if ($showCurrent == 1) echo htmlspecialchars_decode( $before ) . get_the_title() . $after;
   
               } elseif ( is_page() && $post->post_parent ) {
                   $parent_id  = $post->post_parent;
                   $breadcrumbs = array();
                   while ($parent_id) {
                       $page = get_page($parent_id);
                       $breadcrumbs[] = sprintf($link, get_permalink($page->ID), get_the_title($page->ID));
                       $parent_id  = $page->post_parent;
                   }
                   $breadcrumbs = array_reverse($breadcrumbs);
                   for ($i = 0; $i < count($breadcrumbs); $i++) {
                       echo htmlspecialchars_decode( $breadcrumbs[$i] );
                       if ($i != count($breadcrumbs)-1) echo htmlspecialchars_decode( $delimiter );
                   }
                   if ($showCurrent == 1) echo htmlspecialchars_decode( $delimiter ) . $before . get_the_title() . $after;
   
               } elseif ( is_tag() ) {
                   echo htmlspecialchars_decode( $before ) . sprintf($text['tag'], single_tag_title('', false)) . $after;
   
               } elseif ( is_author() ) {
                    global $author;
                   $userdata = get_userdata($author);
                   echo htmlspecialchars_decode( $before ) . sprintf($text['author'], $userdata->display_name) . $after;
   
               } elseif ( is_404() ) {
                   echo htmlspecialchars_decode( $before ) . $text['404'] . $after;
               }
   
               if ( get_query_var('paged') ) {
                   if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() );
                   if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
               }
   
               echo '</ul>';
   
           }
       }
       ```
   
 * Archi theme
    [https://themeforest.net/item/archi-interior-design-wordpress-theme/12649286?_ga=2.18347513.1136331151.1519657789-204806849.1519657789](https://themeforest.net/item/archi-interior-design-wordpress-theme/12649286?_ga=2.18347513.1136331151.1519657789-204806849.1519657789)
 * Ocean Themes
 * [https://themeforest.net/user/oceanthemes](https://themeforest.net/user/oceanthemes)
 * The page I need help with: _[[log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fphp-error-catchable-fatal-error%2F%3Foutput_format%3Dmd&locale=en_US)
   to see the link]_

Viewing 1 replies (of 1 total)

 *  Moderator [Steven Stern (sterndata)](https://wordpress.org/support/users/sterndata/)
 * (@sterndata)
 * Volunteer Forum Moderator
 * [8 years, 3 months ago](https://wordpress.org/support/topic/php-error-catchable-fatal-error/#post-10016145)
 * Make sure you’re on the latest version of that theme.
 * As you use a commercial theme/plugin and need support, please use their official
   support channel. We feel they are best equipped to support their products.
 * [https://themeforest.net/item/archi-interior-design-wordpress-theme/12649286/support](https://themeforest.net/item/archi-interior-design-wordpress-theme/12649286/support)
 * **Commercial products are [not supported in these forums](https://make.wordpress.org/support/handbook/forum-welcome/#do-not-post-about-commercial-products).**.

Viewing 1 replies (of 1 total)

The topic ‘PHP error: CATCHABLE FATAL ERROR:’ is closed to new replies.

## Tags

 * [Catchable fatal error](https://wordpress.org/support/topic-tag/catchable-fatal-error/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 1 reply
 * 2 participants
 * Last reply from: [Steven Stern (sterndata)](https://wordpress.org/support/users/sterndata/)
 * Last activity: [8 years, 3 months ago](https://wordpress.org/support/topic/php-error-catchable-fatal-error/#post-10016145)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
