File: /home/eastcjee/londonribeyesteak.co.uk/wp-content/themes/restar_old/inc/restar-functions.php
<?php
/**
* @Packge : Restar
* @Version : 1.0
* @Author : Themeholy
* @Author URI : https://themeforest.net/user/themeholy
*
*/
// Block direct access
if( ! defined( 'ABSPATH' ) ){
exit;
}
// theme option callback
function restar_opt( $id = null, $url = null ){
global $restar_opt;
if( $id && $url ){
if( isset( $restar_opt[$id][$url] ) && $restar_opt[$id][$url] ){
return $restar_opt[$id][$url];
}
}else{
if( isset( $restar_opt[$id] ) && $restar_opt[$id] ){
return $restar_opt[$id];
}
}
}
// theme logo
function restar_theme_logo() {
// escaping allow html
$allowhtml = array(
'a' => array(
'href' => array()
),
'span' => array(),
'i' => array(
'class' => array()
)
);
$siteUrl = home_url('/');
if( has_custom_logo() ) {
$custom_logo_id = get_theme_mod( 'custom_logo' );
$siteLogo = '';
$siteLogo .= '<a class="logo" href="'.esc_url( $siteUrl ).'">';
$siteLogo .= restar_img_tag( array(
"class" => "img-fluid",
"url" => esc_url( wp_get_attachment_image_url( $custom_logo_id, 'full') )
) );
$siteLogo .= '</a>';
return $siteLogo;
} elseif( !restar_opt('restar_text_title') && restar_opt('restar_site_logo', 'url' ) ){
$siteLogo = '<img class="img-fluid" src="'.esc_url( restar_opt('restar_site_logo', 'url' ) ).'" alt="'.esc_attr__( 'logo', 'restar' ).'" />';
return '<a class="logo" href="'.esc_url( $siteUrl ).'">'.$siteLogo.'</a>';
}elseif( restar_opt('restar_text_title') ){
return '<h2 class="mb-0"><a class="logo" href="'.esc_url( $siteUrl ).'">'.wp_kses( restar_opt('restar_text_title'), $allowhtml ).'</a></h2>';
}else{
return '<h2 class="mb-0"><a class="logo" href="'.esc_url( $siteUrl ).'">'.esc_html( get_bloginfo('name') ).'</a></h2>';
}
}
// custom meta id callback
function restar_meta( $id = '' ){
$value = get_post_meta( get_the_ID(), '_restar_'.$id, true );
return $value;
}
// Blog Date Permalink
function restar_blog_date_permalink() {
$year = get_the_time('Y');
$month_link = get_the_time('m');
$day = get_the_time('d');
$link = get_day_link( $year, $month_link, $day);
return $link;
}
//audio format iframe match
function restar_iframe_match() {
$audio_content = restar_embedded_media( array('audio', 'iframe') );
$iframe_match = preg_match("/\iframe\b/i",$audio_content, $match);
return $iframe_match;
}
//Post embedded media
function restar_embedded_media( $type = array() ){
$content = do_shortcode( apply_filters( 'the_content', get_the_content() ) );
$embed = get_media_embedded_in_content( $content, $type );
if( in_array( 'audio' , $type) ){
if( count( $embed ) > 0 ){
$output = str_replace( '?visual=true', '?visual=false', $embed[0] );
}else{
$output = '';
}
}else{
if( count( $embed ) > 0 ){
$output = $embed[0];
}else{
$output = '';
}
}
return $output;
}
// WP post link pages
function restar_link_pages(){
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . esc_html__( 'Pages:', 'restar' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
'pagelink' => '<span class="screen-reader-text">' . esc_html__( 'Page', 'restar' ) . ' </span>%',
'separator' => '<span class="screen-reader-text">, </span>',
) );
}
// Data Background image attr
function restar_data_bg_attr( $imgUrl = '' ){
return 'data-bg-img="'.esc_url( $imgUrl ).'"';
}
// image alt tag
function restar_image_alt( $url = '' ){
if( $url != '' ){
// attachment id by url
$attachmentid = attachment_url_to_postid( esc_url( $url ) );
// attachment alt tag
$image_alt = get_post_meta( esc_html( $attachmentid ) , '_wp_attachment_image_alt', true );
if( $image_alt ){
return $image_alt ;
}else{
$filename = pathinfo( esc_url( $url ) );
$alt = str_replace( '-', ' ', $filename['filename'] );
return $alt;
}
}else{
return;
}
}
// Flat Content wysiwyg output with meta key and post id
function restar_get_textareahtml_output( $content ) {
global $wp_embed;
$content = $wp_embed->autoembed( $content );
$content = $wp_embed->run_shortcode( $content );
$content = wpautop( $content );
$content = do_shortcode( $content );
return $content;
}
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function restar_pingback_header() {
if ( is_singular() && pings_open() ) {
echo '<link rel="pingback" href="', esc_url( get_bloginfo( 'pingback_url' ) ), '">';
}
}
add_action( 'wp_head', 'restar_pingback_header' );
// Excerpt More
function restar_excerpt_more( $more ) {
return '...';
}
add_filter( 'excerpt_more', 'restar_excerpt_more' );
// restar comment template callback
function restar_comment_callback( $comment, $args, $depth ) {
$add_below = 'comment';
?>
<li <?php comment_class( array('th-comment-item') ); ?>>
<div id="comment-<?php comment_ID() ?>" class="th-post-comment">
<?php
if( get_avatar( $comment, 100 ) ) :
?>
<!-- Author Image -->
<div class="comment-avater">
<?php
if ( $args['avatar_size'] != 0 ) {
echo get_avatar( $comment, 110 );
}
?>
</div>
<!-- Author Image -->
<?php endif; ?>
<!-- Comment Content -->
<div class="comment-content">
<div class="">
<span class="commented-on"><i class="fal fa-calendar"></i><?php printf( esc_html__('%1$s', 'restar'), get_comment_date() ); ?></span>
<h3 class="name"><?php echo esc_html( ucwords( get_comment_author() ) ); ?></h3>
</div>
<p class="text"><?php echo get_comment_text(); ?></p>
<div class="reply_and_edit">
<?php
$reply_text = wp_kses_post( '<i class="fas fa-reply"></i> Reply', 'restar' );
$edit_reply_text = wp_kses_post( '<i class="fas fa-pencil-alt"></i> Edit', 'restar' );
comment_reply_link(array_merge( $args, array( 'add_below' => $add_below, 'depth' => 3, 'max_depth' => 5, 'reply_text' => $reply_text ) ) );
?>
</div>
<?php if ( $comment->comment_approved == '0' ) : ?>
<p class="comment-awaiting-moderation"><?php esc_html_e( 'Your comment is awaiting moderation.', 'restar' ); ?></p>
<?php endif; ?>
</div>
</div>
<!-- Comment Content -->
<?php
}
//body class
add_filter( 'body_class', 'restar_body_class' );
function restar_body_class( $classes ) {
if( class_exists('ReduxFramework') ) {
$restar_blog_single_sidebar = restar_opt('restar_blog_single_sidebar');
if( ($restar_blog_single_sidebar != '2' && $restar_blog_single_sidebar != '3' ) || ! is_active_sidebar('restar-blog-sidebar') ) {
$classes[] = 'no-sidebar';
}
$new_class = is_page() ? restar_meta('custom_body_class') : null;
if ( $new_class ) {
$classes[] = $new_class;
}
} else {
if( !is_active_sidebar('restar-blog-sidebar') ) {
$classes[] = 'no-sidebar';
}
}
return $classes;
}
//Global Footer
function restar_footer_global_option(){
// Restar Widget Enable Disable
if( class_exists( 'ReduxFramework' ) ){
$restar_footer_widget_enable = restar_opt( 'restar_footerwidget_enable' );
$restar_footer_bottom_active = restar_opt( 'restar_disable_footer_bottom' );
}else{
$restar_footer_widget_enable = '';
$restar_footer_bottom_active = '1';
}
if( $restar_footer_widget_enable == '1' || $restar_footer_bottom_active == '1' ){
$bg = restar_opt('restar_footer_background', 'background-image' );
$footer_bg = $bg ? $bg : '#';
if( ( is_active_sidebar( 'restar-footer-1' ) || is_active_sidebar( 'restar-footer-2' ) || is_active_sidebar( 'restar-footer-3' ) || is_active_sidebar( 'restar-footer-4' ) )) {
$class = 'footer-layout1';
}else{
$class = '';
}
echo '<!---footer-wrapper start-->';
echo '<footer class="footer-wrapper '.esc_attr($class).' prebuilt-foo" data-bg-src="'.esc_url( $footer_bg ).'">';
if( $restar_footer_widget_enable == '1' ){
if( ( is_active_sidebar( 'restar-footer-1' ) || is_active_sidebar( 'restar-footer-2' ) || is_active_sidebar( 'restar-footer-3' ) || is_active_sidebar( 'restar-footer-4' ) )) {
echo '<div class="widget-area">';
echo '<div class="container">';
echo '<div class="row justify-content-between">';
if( is_active_sidebar( 'restar-footer-1' )){
dynamic_sidebar( 'restar-footer-1' );
}
if( is_active_sidebar( 'restar-footer-2' )){
dynamic_sidebar( 'restar-footer-2' );
}
if( is_active_sidebar( 'restar-footer-3' )){
dynamic_sidebar( 'restar-footer-3' );
}
if( is_active_sidebar( 'restar-footer-4' )){
dynamic_sidebar( 'restar-footer-4' );
}
echo '</div>';
echo '</div>';
echo '</div>';
}
}
if( $restar_footer_bottom_active == '1' ){
echo '<div class="copyright-wrap">';
echo '<div class="container text-center">';
echo '<p class="copyright-text">'.wp_kses_post( restar_opt( 'restar_copyright_text' ) ).'</p>';
echo '</div>';
echo '</div>';
}
echo '</footer>';
echo '<!---footer-wrapper end-->';
}
}
// Social link
function restar_social_icon(){
$restar_social_icon = restar_opt( 'restar_social_links' );
if( ! empty( $restar_social_icon ) && isset( $restar_social_icon ) ){
$social_item = '';
foreach( $restar_social_icon as $social_icon ){
// if( !empty($social_icon['title']) || $social_icon['description'] ){
$social_item .= '<a href="'.esc_url( $social_icon['url'] ).'"><i class="'.esc_attr( $social_icon['title'] ).'"></i>'.esc_attr( $social_icon['description'] ).'</a>';
// }
}
return $social_item;
}
}
// global header
function restar_global_header_option() {
?>
<div class="has-smooth" id="has_smooth"></div>
<?php
echo restar_mobile_menu();
echo restar_search_box();
if( class_exists( 'ReduxFramework' ) ){
echo '<header class="th-header header-layout1 prebuilt">';
if(restar_opt('restar_header_sticky')){
$sticky = '';
}else{
$sticky = '-no';
}
if(restar_opt('restar_menu_icon')){
$menu_icon = '';
}else{
$menu_icon = 'hide-icon';
}
// echo restar_header_offcanvas();
echo '<div class="sticky-wrapper'.esc_attr($sticky).'">';?>
<div class="menu-area">
<div class="container">
<div class="row gx-20 align-items-center justify-content-between">
<div class="col-auto">
<div class="header-logo">
<div class="logo-bg"></div>
<?php echo restar_theme_logo(); ?>
</div>
</div>
<div class="col-auto">
<?php
if( has_nav_menu( 'primary-menu' ) ) { ?>
<nav class="main-menu d-none d-lg-inline-block">
<?php
wp_nav_menu( array(
"theme_location" => 'primary-menu',
"container" => '',
"menu_class" => ''
) ); ?>
</nav>
<?php } ?>
</nav>
<button type="button" class="th-menu-toggle d-inline-block d-lg-none"><i class="far fa-bars"></i></button>
</div>
<div class="col-auto d-none d-xl-block">
<div class="header-button">
<button type="button" class="icon-btn searchBoxToggler"><i class="far fa-search"></i></button>
</div>
</div>
</div>
</div>
</div>
<?php
echo '</div>';
echo '</header>';
}else{
echo restar_global_header();
}
}
// restar woocommerce breadcrumb
function restar_woo_breadcrumb( $args ) {
return array(
'delimiter' => '',
'wrap_before' => '<ul class="breadcumb-menu">',
'wrap_after' => '</ul>',
'before' => '<li>',
'after' => '</li>',
'home' => _x( 'Home', 'breadcrumb', 'restar' ),
);
}
add_filter( 'woocommerce_breadcrumb_defaults', 'restar_woo_breadcrumb' );
function restar_custom_search_form( $class ) {
echo '<!-- Search Form -->';
echo '<form role="search" method="get" action="'.esc_url( home_url( '/' ) ).'" class="'.esc_attr( $class ).'">';
echo '<label class="searchIcon">';
echo restar_img_tag( array(
"url" => esc_url( get_theme_file_uri( '/assets/img/search-2.svg' ) ),
"class" => "svg"
) );
echo '<input value="'.esc_html( get_search_query() ).'" name="s" required type="search" placeholder="'.esc_attr__('What are you looking for?', 'restar').'">';
echo '</label>';
echo '</form>';
echo '<!-- End Search Form -->';
}
//Fire the wp_body_open action.
if ( ! function_exists( 'wp_body_open' ) ) {
function wp_body_open() {
do_action( 'wp_body_open' );
}
}
//Remove Tag-Clouds inline style
add_filter( 'wp_generate_tag_cloud', 'restar_remove_tagcloud_inline_style',10,1 );
function restar_remove_tagcloud_inline_style( $input ){
return preg_replace('/ style=("|\')(.*?)("|\')/','',$input );
}
/* This code filters the Categories archive widget to include the post count inside the link */
add_filter( 'wp_list_categories', 'restar_cat_count_span' );
function restar_cat_count_span( $links ) {
$links = str_replace('</a> (', '</a> <span class="category-number">', $links);
$links = str_replace(')', '</span>', $links);
return $links;
}
/* This code filters the Archive widget to include the post count inside the link */
add_filter( 'get_archives_link', 'restar_archive_count_span' );
function restar_archive_count_span( $links ) {
$links = str_replace('</a> (', '</a> <span class="category-number">', $links);
$links = str_replace(')', '</span>', $links);
return $links;
}
// Restar Default Header
if( ! function_exists( 'restar_global_header' ) ){
function restar_global_header(){ ?>
<!--Mobile menu & Search box-->
<?php
// echo restar_search_box();
// echo restar_mobile_menu();
?>
<!--======== Header ========-->
<header class="th-header header-layout1 unittest-header">
<div class="no-sticky-wrapper">
<div class="menu-area">
<div class="container">
<div class="row gx-20 align-items-center justify-content-between">
<div class="col-auto">
<div class="header-logo">
<div class="logo-bg"></div>
<?php echo restar_theme_logo(); ?>
</div>
</div>
<div class="col-auto">
<?php
if( has_nav_menu( 'primary-menu' ) ) { ?>
<nav class="main-menu d-none d-lg-inline-block">
<?php
wp_nav_menu( array(
"theme_location" => 'primary-menu',
"container" => '',
"menu_class" => ''
) ); ?>
</nav>
<?php } ?>
</nav>
<button type="button" class="th-menu-toggle d-inline-block d-lg-none"><i class="far fa-bars"></i></button>
</div>
<div class="col-auto d-none d-xl-block">
<div class="header-button">
<button type="button" class="icon-btn searchBoxToggler"><i class="far fa-search"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
<?php
}
}
//header search box
if(! function_exists('restar_search_box')){
function restar_search_box(){
echo '<div class="popup-search-box d-none d-lg-block">';
echo '<button class="searchClose"><i class="fal fa-times"></i></button>';
echo '<form role="search" method="get" action="'.esc_url( home_url( '/' ) ).'">';
echo '<input value="'.esc_html( get_search_query() ).'" name="s" required type="search" placeholder="'.esc_attr__('What are you looking for?', 'restar').'">';
echo '<button type="submit"><i class="fal fa-search"></i></button>';
echo '</form>';
echo '</div>';
}
}
//header Offcanvas
if( ! function_exists( 'restar_header_offcanvas' ) ){
function restar_header_offcanvas(){
echo '<div class="sidemenu-wrapper sidemenu-info">';
echo '<div class="sidemenu-content">';
echo '<button class="closeButton sideMenuCls"><i class="far fa-times"></i></button>';
if(is_active_sidebar('restar-offcanvas')){
dynamic_sidebar( 'restar-offcanvas' );
}else{
echo '<h4 class="widget_title">No Widget Added </h4>';
echo '<p>Please add some widget in Offcanvs Sidebar</p>';
}
echo '</div>';
echo '</div>';
}
}
//header Cart Offcanvas
if( ! function_exists( 'restar_header_cart_offcanvas' ) ){
function restar_header_cart_offcanvas(){
echo '<div class="sidemenu-wrapper sidemenu-cart">';
echo '<div class="sidemenu-content">';
echo '<button class="closeButton sideMenuCls"><i class="far fa-times"></i></button>';
echo '<div class="widget woocommerce widget_shopping_cart">';
echo '<h3 class="widget_title">'.esc_html__( 'Shopping cart', 'restar' ).'</h3>';
echo '<div class="widget_shopping_cart_content">';
if( class_exists( 'woocommerce' ) ){
echo woocommerce_mini_cart();
}
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
}
}
// mobile logo
function restar_mobile_logo() {
$logo_url = restar_opt('restar_mobile_logo', 'url' );
$mobile_menu = '';
if( !empty($logo_url )){
$mobile_menu = '<div class="mobile-logo"><a href="'.home_url('/').'"><img src="'.esc_url($logo_url).'" alt="'.esc_attr__( 'logo', 'restar' ).'"></a></div>';
}else{
$mobile_menu .= '<div class="mobile-logo">';
$mobile_menu .= restar_theme_logo();
$mobile_menu .= '</div>';
}
return $mobile_menu;
}
//header Mobile Menu
if( ! function_exists( 'restar_mobile_menu' ) ){
function restar_mobile_menu(){
?>
<div class="th-menu-wrapper">
<div class="th-menu-area text-center">
<button class="th-menu-toggle"><i class="fal fa-times"></i></button>
<?php if( class_exists('ReduxFramework') ):?>
<?php
if(!empty(restar_opt('restar_menu_menu_show') )){
echo restar_mobile_logo();
}
?>
<?php else: ?>
<div class="mobile-logo">
<?php echo restar_theme_logo(); ?>
</div>
<?php endif; ?>
<div class="th-mobile-menu">
<?php
if( has_nav_menu( 'primary-menu' ) ){
wp_nav_menu( array(
"theme_location" => 'primary-menu',
"container" => '',
"menu_class" => ''
) );
}
?>
</div>
</div>
</div>
<?php
}
}
// Blog post views function
function restar_setPostViews( $postID ) {
$count_key = 'post_views_count';
$count = get_post_meta( $postID, $count_key, true );
if( $count == '' ){
$count = 0;
delete_post_meta( $postID, $count_key );
add_post_meta( $postID, $count_key, '0' );
}else{
$count++;
update_post_meta( $postID, $count_key, $count );
}
}
function restar_getPostViews( $postID ){
$count_key = 'post_views_count';
$count = get_post_meta( $postID, $count_key, true );
if( $count == '' ){
delete_post_meta( $postID, $count_key );
add_post_meta( $postID, $count_key, '0' );
return __( '0', 'restar' );
}
return $count;
}
// Add Extra Class On Comment Reply Button
function restar_custom_comment_reply_link( $content ) {
$extra_classes = 'reply-btn';
return preg_replace( '/comment-reply-link/', 'comment-reply-link ' . $extra_classes, $content);
}
add_filter('comment_reply_link', 'restar_custom_comment_reply_link', 99);
// Add Extra Class On Edit Comment Link
function restar_custom_edit_comment_link( $content ) {
$extra_classes = 'reply-btn';
return preg_replace( '/comment-edit-link/', 'comment-edit-link ' . $extra_classes, $content);
}
add_filter('edit_comment_link', 'restar_custom_edit_comment_link', 99);
function restar_post_classes( $classes, $class, $post_id ) {
if ( get_post_type() === 'post' ) {
$classes[] = "th-blog blog-single has-post-thumbnail";
}elseif( get_post_type() === 'product' ){
// Return Class
}elseif( get_post_type() === 'page' ){
$classes[] = "page--item";
}
return $classes;
}
add_filter( 'post_class', 'restar_post_classes', 10, 3 );
// Contact form 7
add_filter('wpcf7_autop_or_not', '__return_false');