%PDF- %PDF-
| Direktori : /home/opti/public_html/stlc/wp-content/themes/insur/inc/ |
| Current File : /home/opti/public_html/stlc/wp-content/themes/insur/inc/template-functions.php |
<?php
/**
* Functions which enhance the theme by hooking into WordPress
*
* @package insur
*/
/**
* Adds custom classes to the array of body classes.
*
* @param array $classes Classes for the body element.
* @return array
*/
function insur_body_classes($classes)
{
// Adds a class of hfeed to non-singular pages.
if (!is_singular()) {
$classes[] = 'hfeed';
}
// Adds a class of no-sidebar when there is no sidebar present.
if (!is_active_sidebar('sidebar-1')) {
$classes[] = 'no-sidebar';
}
// custom cursor
if ('yes' == get_theme_mod('custom_cursor')) {
$classes[] = 'custom-cursor';
}
$insur_get_boxed_wrapper_status = get_theme_mod('insur_boxed_mode', 'no');
if (is_page()) {
$insur_get_boxed_wrapper_status = get_post_meta(get_the_ID(), 'insur_enable_boxed_mode', true);
}
$insur_dynamic_boxed_wrapper_status = isset($_GET['boxed_mode']) ? $_GET['boxed_mode'] : $insur_get_boxed_wrapper_status;
if ('yes' == $insur_dynamic_boxed_wrapper_status) {
$classes[] = 'boxed-wrapper';
}
return $classes;
}
add_filter('body_class', 'insur_body_classes');
add_action('wp_body_open', 'insur_custom_cursor');
if (!function_exists('insur_custom_cursor')) :
function insur_custom_cursor()
{
$insur_custom_cursor = get_theme_mod('custom_cursor', false);
if ('yes' === $insur_custom_cursor) : ?>
<div class="custom-cursor__cursor"></div>
<div class="custom-cursor__cursor-two"></div>
<?php endif;
}
endif;
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function insur_pingback_header()
{
if (is_singular() && pings_open()) {
printf('<link rel="pingback" href="%s">', esc_url(get_bloginfo('pingback_url')));
}
}
add_action('wp_head', 'insur_pingback_header');
if (!function_exists('insur_menu_fallback_callback')) {
function insur_menu_fallback_callback()
{
return false;
}
}
if (!function_exists('insur_page_title')) :
// Page Title
function insur_page_title()
{
if (is_home()) {
echo esc_html__('Our Blog', 'insur');
} elseif (is_archive()) {
esc_html(the_archive_title());
} elseif (is_page()) {
esc_html(the_title());
} elseif (is_single()) {
esc_html(the_title());
} elseif (is_category()) {
esc_html(single_cat_title());
} elseif (is_search()) {
echo esc_html__('Search result for: “', 'insur') . esc_html(get_search_query()) . '”';
} elseif (is_404()) {
echo esc_html__('Page Not Found', 'insur');
} else {
esc_html(the_title());
}
}
endif;
/**
* Generate custom search form
*
* @param string $form Form HTML.
* @return string Modified form HTML.
*/
function insur_search_form($form)
{
$form = '<form action="' . esc_url(home_url('/')) . '" class="error-page__form" method="get">
<div class="error-page__form-input">
<input type="search" placeholder="' . esc_attr__('Search here', 'insur') . '" value="' . esc_attr(get_search_query()) . '" name="s">
<button type="submit"><i class="icon-magnifying-glass"></i></button>
</div>
</form>';
return $form;
}
add_filter('get_search_form', 'insur_search_form');
/**
* making array of custom icon classes
* which is saved in transient
* @return array
*/
if (!function_exists('insur_get_fa_icons')) :
function insur_get_fa_icons()
{
$data = get_transient('insur_fa_icons');
if (empty($data)) {
global $wp_filesystem;
require_once(ABSPATH . '/wp-admin/includes/file.php');
WP_Filesystem();
$fontAwesome_file = get_parent_theme_file_path('/assets/vendors/fontawesome/css/all.min.css');
$template_icon_file = get_parent_theme_file_path('/assets/vendors/insur-icons/style.css');
$content = '';
if ($wp_filesystem->exists($fontAwesome_file)) {
$content = $wp_filesystem->get_contents($fontAwesome_file);
} // End If Statement
if ($wp_filesystem->exists($template_icon_file)) {
$content .= $wp_filesystem->get_contents($template_icon_file);
} // End If Statement
$pattern = '/\.(fa-(?:\w+(?:-)?)+):before\s*{\s*content/';
$pattern_two = '/\.(icon-(?:\w+(?:-)?)+):before\s*{\s*content/';
$subject = $content;
preg_match_all($pattern, $subject, $matches, PREG_SET_ORDER);
preg_match_all($pattern_two, $subject, $matches_two, PREG_SET_ORDER);
$all_matches = array_merge($matches, $matches_two);
$icons = array();
foreach ($all_matches as $match) {
// $icons[] = array('value' => $match[1], 'label' => $match[1]);
$icons[] = $match[1];
}
$data = $icons;
set_transient('insur_fa_icons', $data, 10080); // saved for one week
}
return array_combine($data, $data); // combined for key = value
}
endif;
// custom kses allowed html
if (!function_exists('insur_kses_allowed_html')) :
function insur_kses_allowed_html($tags, $context)
{
switch ($context) {
case 'insur_allowed_tags':
$tags = array(
'a' => array('href' => array(), 'class' => array()),
'b' => array(),
'br' => array(),
'span' => array('class' => array()),
'img' => array('class' => array()),
'i' => array('class' => array()),
'p' => array('class' => array()),
'ul' => array('class' => array()),
'li' => array('class' => array()),
'div' => array('class' => array()),
'strong' => array()
);
return $tags;
default:
return $tags;
}
}
add_filter('wp_kses_allowed_html', 'insur_kses_allowed_html', 10, 2);
endif;
if (!function_exists('insur_excerpt')) :
// Post's excerpt text
function insur_excerpt($get_limit_value, $echo = true)
{
$opt = $get_limit_value;
$excerpt_limit = !empty($opt) ? $opt : 40;
$excerpt = wp_trim_words(get_the_content(), $excerpt_limit, '');
if ($echo == true) {
echo esc_html($excerpt);
} else {
return esc_html($excerpt);
}
}
endif;
if (!function_exists('insur_comment_count')) {
function insur_comment_count()
{
if (!is_single() && !post_password_required() && (comments_open() || get_comments_number())) {
echo '<span class="comments-link"><i class="far fa-comments"></i> ';
comments_popup_link(
sprintf(
wp_kses(
/* translators: %s: post title */
esc_html__('Leave a comment', 'insur') . '<span class="screen-reader-text">' . esc_html__('on', 'insur') . ' %s</span>',
array(
'span' => array(
'class' => array(),
),
)
),
wp_kses_post(get_the_title())
)
);
echo '</span>';
}
}
}
if (!function_exists('insur_post_query')) {
function insur_post_query($post_type)
{
$post_list = get_posts(array(
'post_type' => $post_type,
'showposts' => -1,
));
$posts = array();
if (!empty($post_list) && !is_wp_error($post_list)) {
foreach ($post_list as $post) {
$options[$post->ID] = $post->post_title;
}
return $options;
}
}
}
if (!function_exists('insur_custom_query_pagination')) :
/**
* Prints HTML with post pagination links.
*/
function insur_custom_query_pagination($paged = '', $max_page = '')
{
global $wp_query;
$big = 999999999; // need an unlikely integer
if (!$paged)
$paged = get_query_var('paged');
if (!$max_page)
$max_page = $wp_query->max_num_pages;
$links = paginate_links(array(
'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
'format' => '?paged=%#%',
'current' => max(1, $paged),
'total' => $max_page,
'mid_size' => 1,
'prev_text' => '<i class="fa fa-angle-left"></i>',
'next_text' => '<i class="fa fa-angle-right"></i>',
));
echo wp_kses($links, 'insur_allowed_tags');
}
endif;
if (!function_exists('insur_get_nav_menu')) :
function insur_get_nav_menu()
{
$menu_list = get_terms(array(
'taxonomy' => 'nav_menu',
'hide_empty' => true,
));
$options = [];
if (!empty($menu_list) && !is_wp_error($menu_list)) {
foreach ($menu_list as $menu) {
$options[$menu->slug] = $menu->name;
}
return $options;
}
}
endif;
if (!function_exists('insur_get_taxonoy')) :
function insur_get_taxonoy($taxonoy)
{
$taxonomy_list = get_terms(array(
'taxonomy' => $taxonoy,
'hide_empty' => true,
));
$options = [];
if (!empty($taxonomy_list) && !is_wp_error($taxonomy_list)) {
foreach ($taxonomy_list as $taxonomy) {
$options[$taxonomy->slug] = $taxonomy->name;
}
return $options;
}
}
endif;
if (!function_exists('insur_comment_form_fields')) :
function insur_comment_form_fields($fields)
{
$comment_field = $fields['comment'];
unset($fields['comment']);
unset($fields['cookies']);
$fields['comment'] = $comment_field;
return $fields;
}
endif;
add_filter('comment_form_fields', 'insur_comment_form_fields');
// blog layout
if (!function_exists('insur_blog_layout')) :
function insur_blog_layout()
{
$insur_blog_layout = isset($_GET['sidebar']) ? $_GET['sidebar'] : get_theme_mod('insur_blog_layout');
$insur_sidebar_align = ($insur_blog_layout == 'left-align' ? 'order-first' : '');
return $insur_sidebar_align;
}
endif;
/**
* render footer from default or page builder
* hooked into insur_footer
* location: footer.php
*
*/
function insur_render_footer()
{
get_template_part('template-parts/layout/default-footer');
}
add_action('insur_footer', 'insur_render_footer');
/**
* render header from default or page builder
* hooked into insur_header
* location: header.php
*
*/
function insur_render_header()
{
get_template_part('template-parts/layout/default-header');
}
add_action('insur_header', 'insur_render_header');
/**
* hex to rgb
*/
if (!function_exists('insur_hex_to_rgb')) {
function insur_hex_to_rgb($hex)
{
list($r, $g, $b) = sscanf($hex, "#%02x%02x%02x");
return esc_html("$r, $g, $b");
}
}