HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/www/aritmodecarnaval/wp-content/themes/izo/inc/class_izo_breadcrumbs.php
<?php
/**
 * Class to handle breadcrumbs support
 *
 * @package Izo
 */


if ( !class_exists( 'Izo_Breadcrumb' ) ) :

	/**
	 * Izo_Breadcrumb 
	 */
	Class Izo_Breadcrumb {

		/**
		 * Instance
		 */		
		private static $instance;

		/**
		 * Initiator
		 */
		public static function get_instance() {
			if ( ! isset( self::$instance ) ) {
				self::$instance = new self;
			}
			return self::$instance;
		}

		/**
		 * Constructor
		 */
		public function __construct() {	
			add_action( 'izo_header_after', array( $this, 'get_breadcrumb' ), 19 );
		}

		/**
		 * Get the breadcrumbs from the supported plugin
		 */
		public function get_breadcrumb() {

			//Don't show breadcrumbs on stretched pages
			if ( 'layout-stretched' == $this->page_layout() ) {
				return;
			}

			if ( function_exists( 'yoast_breadcrumb' ) ) { //Yoast breadcrumbs
				?>
				<div class="izo-container">				
				<?php yoast_breadcrumb( '<p id="breadcrumbs">','</p>' ); ?>
				</div>
				<?php
			} elseif ( function_exists( 'bcn_display' ) ) { //Breadcrumb NavXT
				?>
				<div class="izo-container">
					<p class="izo-breadcrumbs breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/">
						<?php bcn_display(); ?>
					</p>
				</div>
				<?php
			} elseif ( function_exists('rank_math_the_breadcrumbs') ) { //Rank Math breadcrumbs
				?>
				<div class="izo-container">
					<?php rank_math_the_breadcrumbs(); ?>
				</div>
				<?php
			} else {
				return;
			}

			//If we reached this point, remove the Woocommerce breadcrumbs
			remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
		}

		/**
		 * Check page layout
		 */
		public function page_layout() {

			if ( is_404() ) {
				return;
			}

			global $post;

			$id = $post->ID;

			$layout = get_post_meta( $id, '_izo_page_layout', 'layout-stretched' );

			return $layout;
		}

	}

	/**
	 * Initialize class
	 */
	Izo_Breadcrumb::get_instance();

endif;