| Server IP : 68.183.124.220 / Your IP : 216.73.216.141 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : 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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/astra/inc/addons/breadcrumbs/ |
Upload File : |
<?php
/**
* Breadcrumbs for Astra theme.
*
* @package Astra
* @author Brainstorm Force
* @copyright Copyright (c) 2019, Brainstorm Force
* @link https://www.brainstormforce.com
* @since Astra 1.8.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if ( ! class_exists( 'Astra_Breadcrumbs_Markup' ) ) {
/**
* Breadcrumbs Markup Initial Setup
*
* @since 1.8.0
*/
class Astra_Breadcrumbs_Markup {
/**
* Member Variable
*
* @var object 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( 'wp', array( $this, 'astra_breadcumb_template' ) );
}
/**
* Astra Breadcrumbs Template
*
* Loads template based on the style option selected in options panel for Breadcrumbs.
*
* @since 1.8.0
*
* @return void
*/
public function astra_breadcumb_template() {
$breadcrumb_position = astra_get_option( 'breadcrumb-position' );
$breadcrumb_source = astra_get_option( 'select-breadcrumb-source' );
$breadcrumb_enabled = false;
if ( is_singular() ) {
$breadcrumb_enabled = get_post_meta( get_the_ID(), 'ast-breadcrumbs-content', true );
}
if ( 'disabled' !== $breadcrumb_enabled && $breadcrumb_position && 'none' !== $breadcrumb_position && ! ( ( is_home() || is_front_page() ) && ( 'astra_entry_top' === $breadcrumb_position ) ) ) {
if ( self::astra_breadcrumb_rules() ) {
if ( ( is_archive() || is_search() ) && 'astra_entry_top' === $breadcrumb_position ) {
add_action( 'astra_before_archive_title', array( $this, 'astra_hook_breadcrumb_position' ), 15 );
} else {
add_action( $breadcrumb_position, array( $this, 'astra_hook_breadcrumb_position' ), 15 );
}
}
}
}
/**
* Astra Hook Breadcrumb Position
*
* Hook breadcrumb to position of selected option
*
* @since 1.8.0
*
* @return void
*/
public function astra_hook_breadcrumb_position() {
$breadcrumb_position = astra_get_option( 'breadcrumb-position' );
$breadcrumb_source = astra_get_option( 'select-breadcrumb-source' );
if ( $breadcrumb_position && 'astra_header_markup_after' === $breadcrumb_position ) {
echo '<div class="main-header-bar ast-header-breadcrumb">
<div class="ast-container">';
}
astra_get_breadcrumb();
if ( $breadcrumb_position && 'astra_header_markup_after' === $breadcrumb_position ) {
echo ' </div>
</div>';
}
}
/**
* Astra Breadcrumbs Rules
*
* Checks the rules defined for displaying Breadcrumb on different pages.
*
* @since 1.8.0
*
* @return boolean
*/
public static function astra_breadcrumb_rules() {
// Display Breadcrumb default true.
$display_breadcrumb = true;
if ( is_front_page() && '1' == astra_get_option( 'breadcrumb-disable-home-page' ) ) {
$display_breadcrumb = false;
}
if ( is_home() && '1' == astra_get_option( 'breadcrumb-disable-blog-posts-page' ) ) {
$display_breadcrumb = false;
}
if ( is_search() && '1' == astra_get_option( 'breadcrumb-disable-search' ) ) {
$display_breadcrumb = false;
}
if ( ( is_archive() ) && '1' == astra_get_option( 'breadcrumb-disable-archive' ) ) {
$display_breadcrumb = false;
}
if ( is_page() && '1' == astra_get_option( 'breadcrumb-disable-single-page' ) ) {
$display_breadcrumb = false;
}
if ( is_single() && '1' == astra_get_option( 'breadcrumb-disable-single-post' ) ) {
$display_breadcrumb = false;
}
if ( is_singular() && '1' == astra_get_option( 'breadcrumb-disable-singular' ) ) {
$display_breadcrumb = false;
}
if ( is_404() && '1' == astra_get_option( 'breadcrumb-disable-404-page' ) ) {
$display_breadcrumb = false;
}
return apply_filters( 'astra_breadcrumb_enabled', $display_breadcrumb );
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
Astra_Breadcrumbs_Markup::get_instance();