Linux puskom-ProLiant-DL385-Gen10 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64
/
home
/
puskom
/
mastur
/
colibri-page-builder
/
extend-builder
/
shortcodes
/
//home/puskom/mastur/colibri-page-builder/extend-builder/shortcodes/lana-breadcrumb.php
<?php /** * Plugin Name: Lana Breadcrumb * Plugin URI: http://lana.codes/lana-product/lana-breadcrumb/ * Description: Indicate the current page's location within a navigational hierarchy. * Version: 1.0.5 * Author: Lana Codes * Author URI: http://lana.codes/ * Text Domain: lana-breadcrumb * Domain Path: /languages */ namespace ExtendBuilder; defined('ABSPATH') or die(); define('LANA_BREADCRUMB_VERSION', '1.0.5'); /** * Lana Breadcrumb * with Bootstrap */ function lana_breadcrumb($atts) { $default_home_icon = '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="home" viewBox="0 0 1664 1896.0833"><path d="M1408 992v480q0 26-19 45t-45 19H960v-384H704v384H320q-26 0-45-19t-19-45V992q0-1 .5-3t.5-3l575-474 575 474q1 2 1 6zm223-69l-62 74q-8 9-21 11h-3q-13 0-21-7L832 424l-692 577q-12 8-24 7-13-2-21-11l-62-74q-8-10-7-23.5T37 878l719-599q32-26 76-26t76 26l244 204V288q0-14 9-23t23-9h192q14 0 23 9t9 23v408l219 182q10 8 11 21.5t-7 23.5z"></path></svg>'; $atts = array_merge(array( 'home_as_icon' => false, 'home_icon' => $default_home_icon, 'home_label' => '' ), $atts); global $post; global $wp_query; $blog_page_id = get_option( 'page_for_posts' ); /** * Html output */ $output = ''; /** * Breadcrumb html * tags */ $breadcrumb_before = '<ol class="breadcrumb colibri-breadcrumb">'; $breadcrumb_after = '</ol>'; $breadcrumb_element_before = '<li class="breadcrumb-item">'; $breadcrumb_element_after = '</li>'; $breadcrumb_element_link_before = '<a href="%s">'; $breadcrumb_element_link_after = '</a>'; $breadcrumb_elements = array(); $blog_element = array( 'href' =>get_permalink( $blog_page_id ), 'text' => get_the_title($blog_page_id) ); /** * Breadcrumb * home element */ $breadcrumb_elements['home'] = array( 'href' => home_url('/'), 'text' => convertStrSpaceToHtml(wp_kses_post($atts['home_label'])) ); /** * Page * parents */ if (is_page()) { $ancestors = get_post_ancestors($post); if (!empty($ancestors)) { $ancestors = array_reverse($ancestors); foreach ($ancestors as $ancestor) { $breadcrumb_elements['pages-' . $ancestor] = array( 'href' => get_permalink($ancestor), 'text' => get_the_title($ancestor) ); } } } /** * Singular */ if (is_singular()) { if($post && $post->post_type === 'post') { $breadcrumb_elements['blog'] = $blog_element; } $breadcrumb_elements['active'] = array( 'href' => '', 'text' => get_the_title() ); } /** * Home */ // if (is_home()) { // $breadcrumb_elements['active'] = array( // 'href' => 'is_home', // 'text' => single_post_title('', false) // ); // } /** * Blog Page */ if ( isset( $wp_query ) && $wp_query->is_posts_page ) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => get_the_title($blog_page_id) ); } /** * Tax */ if (is_tax()) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => single_term_title('', false) ); } /** * Category */ if (is_category()) { $breadcrumb_elements['blog'] = $blog_element; $breadcrumb_elements['active'] = array( 'href' => '', 'text' => single_cat_title('', false) ); } /** * Tag */ if (is_tag()) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => single_tag_title('', false) ); } /** * Date */ if (is_date()) { $breadcrumb_elements['blog'] = $blog_element; $breadcrumb_elements['active'] = array( 'href' => '', 'text' => get_the_archive_title() ); } /** * Post type archive */ if (is_post_type_archive()) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => get_the_archive_title() ); } /** * Post format * aside, video, gallery etc. */ if (is_tax('post_format')) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => get_the_archive_title() ); } /** * Author */ if (is_author()) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => get_the_author_meta('display_name') ); } /** * Search */ if (is_search()) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => sprintf(__('Search Results for “%s”', 'lana-breadcrumb'), get_search_query()) ); } /** * 404 */ if (is_404()) { $breadcrumb_elements['active'] = array( 'href' => '', 'text' => __('Page not found', 'lana-breadcrumb') ); } /** * Generate * output */ $output .= $breadcrumb_before; if (!empty($breadcrumb_elements)) { foreach ($breadcrumb_elements as $key => $breadcrumb_element) { $output .= $breadcrumb_element_before; if (!empty($breadcrumb_element['href'])) { $output .= sprintf($breadcrumb_element_link_before, $breadcrumb_element['href']); } if($key === 'home' && $atts['home_as_icon']) { $output .= $atts['home_icon']; } else { $output .= $breadcrumb_element['text']; } if (!empty($breadcrumb_element['href'])) { $output .= $breadcrumb_element_link_after; } $output .= $breadcrumb_element_after; } } $output .= $breadcrumb_after; return $output; }