D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
sadaunjx
/
public_html
/
wp-content
/
themes
/
newsplus1
/
inc
/
Filename :
functions-general.php
back
Copy
<?php /* Copyrights (C) Arb4Host Network */ ?> <?php function a4h_theme_install() { if ( !get_option(THEME_NAME_EN_VAR.'_installed') ) { update_option('posts_per_page', 12); a4h_reset_settings('widgets'); } update_option(THEME_NAME_EN_VAR.'_installed', 1); } add_action('after_switch_theme', 'a4h_theme_install'); function a4h_theme_init() { $GLOBALS['a4h_random'] = mt_rand(0, 100); $GLOBALS['content_width'] = apply_filters('a4h_filter_content_width', 728); load_child_theme_textdomain(THEME_TEXT_DOMAIN, get_stylesheet_directory().'/lang'); load_theme_textdomain(THEME_TEXT_DOMAIN, get_template_directory().'/lang'); add_theme_support('title-tag'); add_theme_support('automatic-feed-links'); add_theme_support('post-thumbnails'); add_theme_support('html5', array('search-form', 'comment-form', 'comment-list', 'gallery', 'caption')); add_filter('use_default_gallery_style', '__return_false'); } add_action('after_setup_theme', 'a4h_theme_init'); function a4h_image_sizes() { $sizes = array('800x600', '500x300', '360x360', '360x200', '200x200'); foreach ( $sizes as $size ) { $size_r = explode('x', $size); add_image_size($size, $size_r[0], $size_r[1], true); } } add_action('after_setup_theme', 'a4h_image_sizes'); function a4h_editor_css() { add_editor_style('assets/css/editor.css'); add_editor_style('assets/fonts/fonts.css'); } add_action('after_setup_theme', 'a4h_editor_css'); function a4h_update_image_settings() { update_option('image_default_align', 'center'); update_option('image_default_link_type', 'file'); update_option('image_default_size', 'full'); } add_action('after_switch_theme', 'a4h_update_image_settings'); function a4h_gallery_file_link($out) { $out['link'] = 'file'; return $out; } add_filter('shortcode_atts_gallery', 'a4h_gallery_file_link'); function a4h_dynamic_css() { echo '<style>'."\n"; do_action('a4h_hook_dynamic_css'); echo '</style>'."\n"; } add_action('wp_head', 'a4h_dynamic_css', 50); function a4h_custom_css() { echo '<style>'."\n"; echo a4h_options('custom_css'); echo '</style>'."\n"; } add_action('wp_head', 'a4h_custom_css', 100); function a4h_custom_js_hdr() { echo a4h_options('custom_js_header')."\n"; } add_action('wp_head', 'a4h_custom_js_hdr', 100); function a4h_custom_js_footer() { echo a4h_options('custom_js_footer')."\n"; } add_action('a4h_hook_body_end', 'a4h_custom_js_footer'); function a4h_javascript_detection() { echo "<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>\n"; } add_action('wp_head', 'a4h_javascript_detection', 0); function a4h_load_css() { wp_enqueue_style('font-awesome', 'https://use.fontawesome.com/releases/v5.2.0/css/all.css', array(), null); //wp_enqueue_style('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css', array(), null); wp_enqueue_style('bootstrap', get_theme_file_uri('assets/css/bootstrap.min.css'), array(), THEME_VERSION); wp_enqueue_style('fonts', get_theme_file_uri('assets/fonts/fonts.css'), array(), THEME_VERSION); wp_enqueue_style(THEME_NAME_EN_VAR, get_template_directory_uri().'/style.css', array(), THEME_VERSION); if ( is_child_theme() ) { wp_enqueue_style(THEME_NAME_EN_VAR.'-child', get_stylesheet_directory_uri().'/style.css', array(), THEME_CHILD_VERSION); } } add_action('wp_enqueue_scripts', 'a4h_load_css'); function a4h_load_js() { if ( is_singular() && comments_open() && get_option('thread_comments') ) { wp_enqueue_script('comment-reply'); } wp_register_script('owl-carousel', get_theme_file_uri('assets/js/owl.carousel.min.js'), array('jquery'), THEME_VERSION, false); wp_register_script('owl-carousel-thumbs', get_theme_file_uri('assets/js/owl.carousel.thumbs.min.js'), array('jquery', 'owl-carousel'), THEME_VERSION, false); wp_register_script('hc-sticky', get_theme_file_uri('assets/js/jquery.hc-sticky.min.js'), array('jquery'), THEME_VERSION, false); wp_register_script('slideout', get_theme_file_uri('assets/js/slideout.min.js'), '', THEME_VERSION, false); wp_enqueue_script('main', get_theme_file_uri('assets/js/main.js'), array('jquery'), THEME_VERSION, true); a4h_options_js_localize(); } add_action('wp_enqueue_scripts', 'a4h_load_js'); function a4h_options_js_localize() { $js_vars = array(); $js_vars['ajax_url'] = admin_url('admin-ajax.php'); $js_vars['show_main_nav_posts'] = a4h_options('show_main_nav_posts'); $js_vars = apply_filters('a4h_filter_js_vars', $js_vars); wp_localize_script('jquery', 'a4h_js_vars', $js_vars); } function a4h_register_menus() { register_nav_menus(array( 'header' => __('Primary Menu', THEME_TEXT_DOMAIN), 'mobile' => __('Mobile Menu', THEME_TEXT_DOMAIN), 'top' => __('Top Menu', THEME_TEXT_DOMAIN), 'footer' => __('Footer Menu', THEME_TEXT_DOMAIN), )); } add_action('after_setup_theme', 'a4h_register_menus'); function a4h_register_sidebar($id, $name) { register_sidebar(array( 'id' => $id, 'name' => $name, 'before_widget' => '<aside id="%1$s" class="col col-12 widget %2$s">'."\r".'<div class="flex-grow widget-inner">', 'after_widget' => '</div></div></aside>', 'before_title' => '<header class="widget-header"><div class="widget-title"><h2>', 'after_title' => '</h2></div></header><div class="widget-content">'."\r", )); } function a4h_register_sidebars() { a4h_register_sidebar('home', __('Front Page Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('home_mobile', __('Mobile Front Page Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('side', __('Side Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('header', __('Header Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('footer', __('Footer Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('footer2', __('Footer Sidebar', THEME_TEXT_DOMAIN).' 2'); a4h_register_sidebar('content_above', __('Above Content Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('content_below', __('Below Content Sidebar', THEME_TEXT_DOMAIN)); a4h_register_sidebar('post_below', __('Below Post/Page Sidebar', THEME_TEXT_DOMAIN)); $number_of_widgets_sidebars = apply_filters('a4h_filter_number_of_widgets_sidebars', 9); for ( $i = 1; $i <= $number_of_widgets_sidebars; $i++ ) { a4h_register_sidebar('widgets_list_'.$i, __('Widgets Sidebar', THEME_TEXT_DOMAIN).' #'.$i); } } add_action('after_setup_theme', 'a4h_register_sidebars'); function a4h_sidebar($id, $class = null) { if ( !is_active_sidebar($id) ) { return; } if ( $id == 'side' ) { if ( !a4h_options('sidebar_'.$id) || !a4h_case('sidebar_'.$id) || ( is_singular() && a4h_meta('hide_post_sidebar') ) ) { return; } } ?> <div id="sidebar-<?php echo $id; ?>" class="sidebar sidebar-<?php echo $id; ?>"> <div class="row row-min flex-wrap justify-content-center widget-area"> <?php dynamic_sidebar($id); ?> </div> </div> <?php } function a4h_search_form($form) { $form = '<div class="search-form"><form method="get" class="search-inner" action="'.home_url('/').'"> <label class="sr-only">'.__('Search').':</label> <input class="form-control search-field" placeholder="'.apply_filters('search_form_placeholder', __('Search')).' ..." type="search" value="'.get_search_query().'" name="s" /> <button type="submit" class="search-submit"><i class="fa fa-search"></i></button> </form></div>'; return $form; } add_filter('get_search_form', 'a4h_search_form'); add_shortcode('search_form', 'a4h_search_form'); function a4h_body_classes($classes) { $classes[] = 'archive-style-'.a4h_options('archive_style'); if ( wp_is_mobile() ) { $classes[] = 'mobile'; } else { $classes[] = 'desktop'; } if ( a4h_options('sidebar_side') && a4h_case('sidebar_side') && ( !is_singular() || !a4h_meta('hide_post_sidebar') ) && is_active_sidebar('side') ) { $classes[] = 'has-sidebar-side'; } if ( is_single() ) { global $post; foreach ( get_the_category($post->ID) as $category ) { $classes[] = 'in-cat-'.$category->term_id; } } if ( is_single() && is_sticky() ) { $classes[] = 'sticky-post'; } if ( get_option('show_avatars') ) { $classes[] = 'comments-avatars'; } return $classes; } add_filter('body_class', 'a4h_body_classes', 100); function a4h_comment_classes($classes, $class, $comment_id) { $comment = get_comment($comment_id); $user = get_userdata($comment->user_id); if ( user_can($user, 'edit_others_posts') ) { $classes[] = 'byteammember'; } return $classes; } add_filter('comment_class', 'a4h_comment_classes', 100, 3); function a4h_link_to_menu_editor($args) { extract($args); $link = $link_before.'<a class="'.$link_class.'" href="'.admin_url('nav-menus.php?action=locations').'">'.$before.__('Select The Primary Menu', THEME_TEXT_DOMAIN).$after.'</a>'.$link_after; if ( false !== stripos($items_wrap, '<ul') || false !== stripos($items_wrap, '<ol') ) { $link = "<li class=\"$item_class\">$link</li>"; } $output = sprintf($items_wrap, $menu_id, $menu_class, $link); if ( !empty($container) ) { $output = "<$container class=\"$container_class\" id=\"$container_id\">$output</$container>"; } if ( $echo ) { echo $output; } return $output; } class a4h_Menu_Walker extends Walker_Nav_Menu { public function end_el( &$output, $item, $depth = 0, $args = array() ) { if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) { $t = ''; $n = ''; } else { $t = "\t"; $n = "\n"; } $output .= apply_filters( 'walker_nav_menu_end_el', '', $item, $depth, $args ); $output .= "</li>{$n}"; } } function a4h_walker_nav_menu_start_el($item_output, $item, $depth, $args) { $sub_menu_class = !empty($args->sub_menu_class) ? $args->sub_menu_class : ''; $item_output .= $depth == 0 && strpos($args->container_class, 'main-navigation') !== false ? '<div class="sub-menu-outer '.$sub_menu_class.'"><div class="container sub-menu-inner">' : ''; return $item_output; } add_filter('walker_nav_menu_start_el', 'a4h_walker_nav_menu_start_el', 10, 4); function a4h_walker_nav_menu_end_el($item_output, $item, $depth, $args) { $item_output .= $depth == 0 && strpos($args->container_class, 'main-navigation') !== false ? '</div></div>' : ''; return $item_output; } add_filter('walker_nav_menu_end_el', 'a4h_walker_nav_menu_end_el', 10, 4); function a4h_wp_nav_menu_args($args) { $args['walker'] = new a4h_Menu_Walker(); $args['container'] = 'nav'; return $args; } add_filter('wp_nav_menu_args', 'a4h_wp_nav_menu_args'); function a4h_nav_menu_item_id_prefix($id, $item, $args, $depth) { $prefix = !empty($args->item_id_prefix) ? $args->item_id_prefix.'-' : ''; $id = $prefix.'menu-item-'.$item->ID; return $id; } add_filter('nav_menu_item_id', 'a4h_nav_menu_item_id_prefix', 10, 4); function a4h_nav_menu_item_css_class($classes, $item, $args, $depth) { $classes[] = !empty($args->item_class) && $depth == 0 ? $args->item_class : ''; $classes[] = 'menu-item-object_id-'.$item->object_id; return $classes; } add_filter('nav_menu_css_class', 'a4h_nav_menu_item_css_class', 10, 4); function a4h_nav_menu_link_css_class($atts, $item, $args, $depth) { $atts['class'] = !empty($args->link_class) && $depth == 0 ? $args->link_class : ''; return $atts; } add_filter('nav_menu_link_attributes', 'a4h_nav_menu_link_css_class', 10, 4); function a4h_main_nav_get_posts() { $object_type = !empty($_REQUEST['object_type']) ? $_REQUEST['object_type'] : ''; $object_id = !empty($_REQUEST['object_id']) ? $_REQUEST['object_id'] : ''; $post_types = a4h_get_post_types_by_taxonomy($object_type); $widget_args = array( 'style' => 'style2' ); $posts_args = array( 'post_type' => $post_types, 'ignore_sticky_posts' => true, 'posts_per_page' => 4, 'tax_query' => array(array('taxonomy' => $object_type, 'field' => 'id', 'terms' => $object_id)), ); $widget_args = apply_filters('a4h_filter_main_navigation_posts_widget_args', $widget_args); $posts_args = apply_filters('a4h_filter_main_navigation_posts_posts_args', $posts_args); echo '<div class="main-nav-posts-wrapper">'; a4h_posts_list($widget_args, $posts_args); echo '</div>'; wp_die(); } add_action('wp_ajax_a4h_main_nav_get_posts', 'a4h_main_nav_get_posts'); add_action('wp_ajax_nopriv_a4h_main_nav_get_posts', 'a4h_main_nav_get_posts'); function a4h_login_logo() { $css = '<style type="text/css"> h1 a { background-color: #111111; background-image:url('.get_theme_file_uri('assets/img/logo.png').') !important; background-position: center !important; background-size: 100% auto !important; width: 250px !important; height: 80px !important; border-radius: 5px; } </style>'; echo $css; } add_action('login_head', 'a4h_login_logo'); function a4h_login_url() { return site_url(); } add_filter('login_headerurl', 'a4h_login_url', 10, 4); function a4h_login_header_title() { return get_bloginfo('name'); } add_filter('login_headertitle', 'a4h_login_header_title'); function a4h_site_logo() { $logo_url = a4h_options('site_logo')['src'] ? a4h_options('site_logo')['src'] : get_theme_file_uri('assets/img/logo.png'); $logo_width = a4h_options('site_logo')['width'] ? a4h_options('site_logo')['width'] : ''; $logo_height = a4h_options('site_logo')['height'] ? a4h_options('site_logo')['height'] : ''; $logo_url = apply_filters('site_logo_src', $logo_url); return '<img src="'.$logo_url.'" alt="'.get_bloginfo('name').'" width="'.$logo_width.'" height="'.$logo_height.'" />'; } function a4h_custom_oembed_filter($html) { $output = '<div class="video-outer"><div class="embed-responsive embed-responsive-16by9 video-inner">'.$html.'</div></div>'; return $output; } add_filter('embed_oembed_html', 'a4h_custom_oembed_filter', 10); function a4h_content_add_table_css_class($content) { $content = str_replace('<table', '<div class="table-responsive"><table class="table table-bordered"', $content); $content = str_replace('</table>', '</table></div>', $content); return $content; } add_filter('the_content', 'a4h_content_add_table_css_class'); function a4h_custom_oembed_result($html, $url, $args) { if ( $args ) { $newargs = $args; $parameters = http_build_query($newargs); $html = str_replace('?feature=oembed', '?feature=oembed'.'&'.$parameters, $html); } return $html; } add_filter('oembed_result', 'a4h_custom_oembed_result', 10, 3); function a4h_archive_title() { if ( is_category() || is_tag() || is_tax() ) { $title = single_term_title(); } else if ( is_post_type_archive() ) { $title = post_type_archive_title(); } else if ( is_author() ) { $title = sprintf(__('All posts by: %s', THEME_TEXT_DOMAIN), get_the_author()); } else if ( is_day() ) { $title = sprintf(__('Daily Archives: %s', THEME_TEXT_DOMAIN), get_the_date()); } else if ( is_month() ) { $title = sprintf(__('Monthly Archives: %s', THEME_TEXT_DOMAIN), get_the_date(_x('F Y', '', ''))); } else if ( is_year() ) { $title = sprintf(__('Yearly Archives: %s', THEME_TEXT_DOMAIN), get_the_date(_x('Y', '', ''))); } else if ( is_search() ) { if ( get_search_query() ) { $title = sprintf(__('Search Results for “%s”', THEME_TEXT_DOMAIN), get_search_query()); } else { $title = __('Search Results', THEME_TEXT_DOMAIN); } } else if ( is_404() ) { $title = __('Oops! That page can’t be found.', THEME_TEXT_DOMAIN); } else if ( get_the_title() ) { $title = get_the_title(); } else if ( have_posts() ) { $title = __('Archives'); } else { $title = __('Nothing Found', THEME_TEXT_DOMAIN); } return apply_filters('a4h_filter_archive_title', $title); } function a4h_link_pages() { global $page, $numpages, $multipage, $more, $pagenow; if ( !$multipage ) { return; } ?> <nav class="navigation-font pages-navigation pages-navigation-post"> <h2 class="sr-only"><?php _e('Pages:'); ?></h2> <div class="nav-links d-flex flex-wrap justify-content-center"> <?php $args = array(); $prev = ''; $next = ''; $args['link_before'] = '<span>'; $args['link_after'] = '</span>'; $args['nextpagelink'] = __('Next Page', THEME_TEXT_DOMAIN).' <i class="fa fa-angle-left"></i>'; $args['previouspagelink'] = '<i class="fa fa-angle-right"></i> '.__('Previous Page', THEME_TEXT_DOMAIN); $args['next_or_number'] = 'number'; if ( $multipage ) { if ( $more ) { $i = $page - 1; if ( $i && $more ) { $prev .= str_replace('<a ', '<a class="nav-prev"', _wp_link_page($i)); $prev .= $args['previouspagelink'].'</a>'; } $i = $page + 1; if ( $i <= $numpages && $more ) { $next .= ' '; $next .= str_replace('<a ', '<a class="nav-next"', _wp_link_page($i)); $next .= $args['nextpagelink'].'</a>'; } } } $args['before'] = $prev; $args['after'] = $next; wp_link_pages($args); ?> </div> </nav> <?php } function a4h_posts_pagination() { global $wp_query; if ( $GLOBALS['wp_query']->max_num_pages < 2 ) { return; } $args['sep'] = ' '; $args['prelabel'] = $args['prev_text'] = '<i class="fa fa-angle-right"></i> '.__('Previous Page', THEME_TEXT_DOMAIN); $args['nxtlabel'] = $args['next_text'] = __('Next Page', THEME_TEXT_DOMAIN).' <i class="fa fa-angle-left"></i>'; ?> <nav class="navigation-font text-center pages-navigation pages-navigation-archive"> <h2 class="sr-only"><?php _e('Posts navigation'); ?></h2> <div class="nav-links d-flex flex-wrap justify-content-center"> <?php echo paginate_links($args) ?> </div> </nav> <?php } function a4h_comments_pagination() { if ( get_comment_pages_count() < 2 ) { return; } $args = array( 'prev_text' => '<i class="fa fa-angle-right"></i> '.__('Older comments'), 'next_text' => __('Newer comments').' <i class="fa fa-angle-left"></i>', ); ?> <nav class="navigation-font text-center pages-navigation pages-navigation-comments"> <h2 class="sr-only"><?php _e('Comments navigation'); ?></h2> <div class="nav-links d-flex flex-wrap justify-content-center"> <?php paginate_comments_links($args); ?> </div> </nav> <?php } function a4h_post_excerpt($more_link = true) { $excerpt = $more_link ? apply_filters('the_excerpt', get_the_excerpt()) : preg_replace('/<\/?a[^>]*>/', '', apply_filters('the_excerpt', get_the_excerpt())); return $excerpt; } function a4h_post_excerpt_length() { return 30; } add_filter('excerpt_length', 'a4h_post_excerpt_length', 999); function a4h_post_excerpt_more_text() { return '... <span class="read-more"><a href="'.get_permalink().'">'.__('Read More →', THEME_TEXT_DOMAIN).'</a></span>'; } add_filter('excerpt_more', 'a4h_post_excerpt_more_text'); function a4h_remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields', 'a4h_remove_comment_fields'); function a4h_filter_post_header_style($default) { return !has_post_thumbnail() || !a4h_options('display_post_image') || !a4h_case('display_post_image') || a4h_meta('hide_post_image') ? 'style1' : $default; } add_filter('a4h_filter_post_header_style', 'a4h_filter_post_header_style'); function a4h_post_thumbnail($size, $link = true) { if ( !has_post_thumbnail() ) { return; } $meta = array(); $meta['alt'] = get_the_title(); $meta = apply_filters('a4h_filter_post_thumbnail_meta', $meta); ?> <div class="fluid-img thumb-wrap"> <?php if ( $link ) { ?><a href="<?php the_permalink(); ?>"><?php } ?> <?php the_post_thumbnail($size, $meta); ?> <?php if ( $link ) { ?></a><?php } ?> <?php do_action('a4h_hook_post_thumbnail_inner'); ?> </div> <?php } function a4h_post_background_url($default = null, $widget_args = null, $posts_args = null, $i = null) { $default = !empty($default) ? $default : '360x200'; $thumb_size = apply_filters('a4h_filter_posts_list_post_thumb_size', $default, $widget_args, $posts_args, $i); $bg_url = wp_get_attachment_image_src(get_post_thumbnail_id(), $thumb_size); $bg_url = $bg_url[0]; echo $bg_url; } function a4h_post_header_background_css() { if ( apply_filters('a4h_filter_post_header_style', a4h_options('post_header_style')) == 'style1' ) { return; } ?> @media (min-width: 576px) { .section-post#post-<?php the_ID(); ?> .page-header { background-image: url(<?php echo a4h_post_background_url('800x600'); ?>); } } @media (max-width: 575px) { .section-post#post-<?php the_ID(); ?> .page-header { background-image: url(<?php echo a4h_post_background_url('360x200'); ?>); } } <?php } add_action('a4h_hook_dynamic_css', 'a4h_post_header_background_css'); function a4h_post_image($caption = true) { if ( !a4h_options('display_post_image') || !a4h_case('display_post_image') || a4h_meta('hide_post_image') ) { return; } if ( a4h_options('post_header_style') == 'style2' ) { return; } $post_video = a4h_meta('post_video'); $type = $post_video ? 'video' : 'image'; $post_video_embed = $post_video ? wp_oembed_get($post_video) : ''; $meta = array(); $meta['alt'] = get_the_title(); $meta['data-no-lazy'] = 'true'; $meta = apply_filters('a4h_filter_post_image_meta', $meta); if ( !has_post_thumbnail() && !$post_video ) { return; } ?> <figure id="post-image" class="post-image"> <div class="fluid-img post-image-inner post-image-type-<?php echo $type; ?>"> <?php do_action('a4h_hook_post_image_inner_start'); ?> <?php if ( $post_video ) { ?> <div class="embed-responsive embed-responsive-16by9 video-inner"> <?php echo $post_video_embed; ?> </div> <?php } else { ?> <?php the_post_thumbnail(apply_filters('a4h_filter_post_image_size', '800x600'), $meta); ?> <?php if ( get_post(get_post_thumbnail_id())->post_excerpt && $caption ) { ?> <figcaption class="sm-font post-caption"><?php echo get_post(get_post_thumbnail_id())->post_excerpt; ?></figcaption> <?php } ?> <?php } ?> <?php do_action('a4h_hook_post_image_inner_end'); ?> </div> </figure> <?php } function a4h_post_meta() { if ( !a4h_options('display_post_meta') || !a4h_case('display_post_meta') ) { return; } ?> <div class="py-2 sm-font medium-color post-meta main-post-meta"> <?php do_action('a4h_hook_main_post_meta'); ?> </div> <?php } function a4h_post_tags() { if ( !a4h_options('display_tags') || !a4h_case('display_tags') ) { return; } if ( !has_tag() ) { return; } ?> <div class="sm-font medium-color post-tags"> <?php the_tags('<ul class="d-flex flex-wrap"><li class="main-color tags-label"><i class="fa fa-tag"></i></li><li>', '</li><li>', '</li></ul>'); ?> </div> <?php } function a4h_post_time($format = '') { $format = $format ? $format : a4h_options('time_format'); $time_string = '<time class="post-date post-date-published published" datetime="%1$s">%2$s</time> <time class="post-date post-date-updated updated" datetime="%3$s">%4$s</time>'; $the_time = a4h_options('short_time') ? sprintf(__('%s ago', THEME_TEXT_DOMAIN), human_time_diff(get_post_time('U', true))) : get_the_date($format); $the_modified_time = a4h_options('short_time') ? sprintf(__('%s ago', THEME_TEXT_DOMAIN), human_time_diff(get_post_modified_time('U', true))) : get_the_modified_date($format); $time_string = sprintf($time_string, get_the_date(DATE_W3C), $the_time, get_the_modified_date(DATE_W3C), $the_modified_time); return $time_string; } function a4h_post_published_exceeds_x_hours($hours = 0) { global $post; $time_now = (int)current_time('timestamp'); $time_post_published = strtotime($post->post_date); if ( $time_now > ( $time_post_published + $hours * HOUR_IN_SECONDS ) ) { return true; } else { return false; } } function a4h_post_modified_exceeds_x_hours($hours = 0) { global $post; $time_now = (int)current_time('timestamp'); $time_post_modified = strtotime($post->post_modified); if ( $time_now > ( $time_post_modified + $hours * HOUR_IN_SECONDS ) ) { return true; } else { return false; } } function a4h_roles_array() { global $wp_roles; $roles = $wp_roles->get_names(); return $roles; } function a4h_fonts_list() { $fonts = array( 'Tahoma', 'Arial', 'Droid Arabic Naskh', 'Droid Arabic Kufi', 'GE FLOW Light', 'GE FLOW Bold', 'Greta Arabic Regular', 'Nassim', ); return apply_filters('a4h_filter_fonts_list', $fonts); } function a4h_editor_fonts_list($initArray) { $font_string = ''; $fonts = a4h_fonts_list(); foreach ( $fonts as $font ) { $font_string .= $font.'='.$font.';'; } $initArray['font_formats'] = $font_string; return $initArray; } add_filter('tiny_mce_before_init', 'a4h_editor_fonts_list'); function a4h_admin_links() { global $wp_admin_bar; if ( !current_user_can('edit_theme_options') ) return; $wp_admin_bar->add_menu(array('id' => THEME_OPTIONS_VAR, 'title' => '<span style="padding: 7px; background: #852222; color: #FFFFFF;">'.THEME_NAME.'</span>', 'href' => admin_url('admin.php?page='.THEME_OPTIONS_VAR))); $wp_admin_bar->add_menu(array('parent' => THEME_OPTIONS_VAR, 'id' => 'link10', 'title' => 'الإعدادات', 'href' => admin_url('admin.php?page='.THEME_OPTIONS_VAR))); $wp_admin_bar->add_menu(array('parent' => THEME_OPTIONS_VAR, 'id' => 'link20', 'title' => 'الإعلانات', 'href' => admin_url('admin.php?page='.THEME_ADS_VAR))); $wp_admin_bar->add_menu(array('parent' => THEME_OPTIONS_VAR, 'id' => 'link30', 'title' => 'الدعم الفني', 'href' => SUPPORT_LINK, 'meta' => array('target' => '_blank'))); } add_action('admin_bar_menu', 'a4h_admin_links', 1000); function a4h_social_links($style = '') { $style = array_filter((array)$style); $style = !empty($style) ? implode('', $style) : 'style1'; $social_links = a4h_options('social_links'); $social_links = array_filter((array)$social_links); unset($social_links['google_plus']); $extra_links = a4h_options('extra_social_links'); if ( empty($social_links) && empty($extra_links) ) { return; } $social_list = array( 'facebook' => array('class' => 'facebook', 'icon' => 'facebook-f', 'label' => 'Facebook'), 'twitter' => array('class' => 'twitter', 'icon' => 'twitter', 'label' => 'Twitter'), 'instagram' => array('class' => 'instagram', 'icon' => 'instagram', 'label' => 'Instagram'), 'youtube' => array('class' => 'youtube', 'icon' => 'youtube', 'label' => 'YouTube'), 'tumblr' => array('class' => 'tumblr', 'icon' => 'tumblr', 'label' => 'Tumblr'), 'linkedin' => array('class' => 'linkedin', 'icon' => 'linkedin', 'label' => 'LinkedIn'), 'pinterest' => array('class' => 'pinterest', 'icon' => 'pinterest', 'label' => 'Pinterest'), 'android' => array('class' => 'android', 'icon' => 'android', 'label' => 'Android App'), 'ios' => array('class' => 'apple', 'icon' => 'apple', 'label' => 'iOS App'), ); $output = ''; $output .= '<div class="circleIn social-links '.$style.'">'; $output .= '<ul class="d-flex flex-wrap justify-content-center">'; foreach ( $social_links as $social_button => $url ) { $output .= '<li class="sb-'.$social_list[$social_button]['class'].'"><a target="_blank" href="'.$url.'" title="'.$social_list[$social_button]['label'].'"><i class="fab fa-fw fa-'.$social_list[$social_button]['icon'].'"></i><span>'.$social_list[$social_button]['label'].'</span></a></li>'; } $output .= a4h_options('extra_social_links'); $output .= apply_filters('a4h_filter_social_links_end', ''); $output .= '</ul>'; $output .= '</div>'; return $output; } add_shortcode('social_links', 'a4h_social_links'); function a4h_get_adjacent_post_permalink($type) { global $post; $prev_post = get_adjacent_post(true, '', true); if ( $type == 'prev' && $prev_post ) { echo get_permalink($prev_post->ID); } $next_post = get_adjacent_post(true, '', false); if ( $type == 'next' && $next_post ) { echo get_permalink($next_post->ID); } } function a4h_archive_load_more_posts() { if ( a4h_options('posts_pagination_style') != 'ajax' ) { return; } global $wp_query; $paged = ( get_query_var('paged') > 1 ) ? get_query_var('paged') : 1; $max = $wp_query->max_num_pages; wp_localize_script('jquery', 'a4h_js_load_more_posts', array('startPage' => $paged, 'maxPages' => $max, 'nextLink' => next_posts($max, false), 'loadMoreText' => __('Load More', THEME_TEXT_DOMAIN), 'loadingText' => __('Loading...', THEME_TEXT_DOMAIN), 'noMoreText' => __('No more posts', THEME_TEXT_DOMAIN))); } add_action('wp_enqueue_scripts', 'a4h_archive_load_more_posts', 100); function a4h_get_comments_number() { return get_comments_number(); } function a4h_get_views_number() { $post_views = intval(get_post_meta(get_the_ID(), apply_filters('a4h_filter_post_views_field', 'views'), true)); $post_views = number_format_i18n($post_views); return apply_filters('a4h_filter_post_views_output', $post_views); } function a4h_notes_to_users() { if ( !a4h_options('notes_to_users') ) { return; } add_meta_box('notes_to_users', __('Admin Notes', THEME_TEXT_DOMAIN), function() { ?> <div> <pre style="font: bold 16px/1.5 arial; color: #C91010; background: #FFFFFF; margin: 0px; padding: 10px 20px; white-space: pre-wrap;"><?php echo preg_replace( '@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1">$1</a>', a4h_options('notes_to_users')); ?></pre> </div> <?php }, 'dashboard', 'normal', 'high' ); } add_action('wp_dashboard_setup', 'a4h_notes_to_users'); function a4h_notes_to_authors() { if ( !a4h_options('notes_to_authors') ) { return; } if ( !in_array($GLOBALS['pagenow'], array('post.php', 'post-new.php')) ) { return; } ?> <div style="clear: both; max-width: 600px;"> <pre style="font: bold 16px/1.5 arial; color: #C91010; background: #FFFFFF; margin: 0px; padding: 10px 20px; white-space: pre-wrap;"><?php echo preg_replace( '@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1">$1</a>', a4h_options('notes_to_authors')); ?></pre> </div> <?php } add_action('admin_notices', 'a4h_notes_to_authors'); function a4h_post_screen_meta_box() { if ( !current_user_can(apply_filters('a4h_post_edit_meta_box_capability', 'manage_options')) ) { return; } $screens = apply_filters('a4h_filter_post_edit_meta_box_post_types', array('post', 'page')); foreach ( $screens as $screen ) { add_meta_box('a4h_post_options', 'إعدادات '.THEME_NAME, 'a4h_post_screen_meta_box_callback', $screen); } add_action('save_post', 'a4h_post_screen_meta_box_save'); wp_enqueue_style('admin-css', get_theme_file_uri('assets/css/admin-options.css')); } add_action('load-post.php', 'a4h_post_screen_meta_box'); add_action('load-post-new.php', 'a4h_post_screen_meta_box'); function a4h_post_screen_meta_box_callback($post) { ?> <?php wp_nonce_field('a4h_options_nonce', 'a4h_options_nonce'); ?> <p> <label><input type="checkbox" name="hide_post_ads" value="1" <?php checked(1, a4h_meta('hide_post_ads')); ?> /><?php _e('Hide Ads', THEME_TEXT_DOMAIN); ?></label> </p> <p> <label><input type="checkbox" name="hide_post_sidebar" value="1" <?php checked(1, a4h_meta('hide_post_sidebar')); ?> /><?php _e('Hide Sidebar', THEME_TEXT_DOMAIN); ?></label> </p> <p> <label><input type="checkbox" name="hide_post_image" value="1" <?php checked(1, a4h_meta('hide_post_image')); ?> /><?php _e('Hide Featured Image', THEME_TEXT_DOMAIN); ?></label> </p> <hr /> <p style="display: none;"> <label><?php _e('Replace Featured Image With Video', THEME_TEXT_DOMAIN); ?></label><br /><input type="text" name="post_video" value="<?php echo a4h_meta('post_video'); ?>" placeholder="http://" class="mz-text-left" /> </p> <p> <label><?php _e('Post Source', THEME_TEXT_DOMAIN); ?></label><br /><input type="text" name="post_source" placeholder="اسم أو رابط" value="<?php echo a4h_meta('post_source'); ?>" /> </p> <?php } function a4h_post_screen_meta_box_save($post_id) { if ( !isset($_POST['a4h_options_nonce']) ) { return; } if ( !wp_verify_nonce($_POST['a4h_options_nonce'], 'a4h_options_nonce') ) { return; } if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { return; } $fields = array('hide_post_ads', 'hide_post_sidebar', 'hide_post_image', 'post_video', 'post_source'); foreach ( $fields as $field ) { if ( isset($_POST[$field] ) ) { update_post_meta($post_id, $field, strip_tags($_POST[$field])); } else { delete_post_meta($post_id, $field); } } } function a4h_display_post_source($content) { $post_source = a4h_meta('post_source'); if ( $post_source ) { if ( strpos($post_source, 'http') === 0 ) { $post_source = '<a rel="nofollow" target="_blank" href="'.$post_source.'">'.__('Source', THEME_TEXT_DOMAIN).'</a>'; } else { $post_source = __('Source', THEME_TEXT_DOMAIN).': '.$post_source; } $post_source = sprintf('<div class="mb-3 post-source">%1$s</div>', $post_source); } if ( in_the_loop() ) { $content .= $post_source; } return $content; } add_action('the_content', 'a4h_display_post_source', 11); function a4h_post_sharing_buttons_default() { $output = '<div class="d-flex flex-grow flex-grow-children circleIn share-buttons-default"> <div class="d-flex flex-grow-children ss-button ss-facebook"><a class="d-flex align-items-center justify-content-center" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u='.urlencode(wp_get_shortlink()).'" title="Facebook"><i class="fab fa-fw fa-facebook-f"></i><span class="d-none d-lg-block ss-label">Facebook</span></a></div> <div class="d-flex d-lg-none flex-grow-children ss-button ss-messenger"><a class="d-flex align-items-center justify-content-center" target="_blank" href="fb-messenger://share/?link='.urlencode(wp_get_shortlink()).'" title="Messenger"><i class="fab fa-fw fa-facebook-messenger"></i><span class="d-none d-lg-block ss-label">Messenger</span></a></div> <div class="d-flex d-lg-none flex-grow-children ss-button ss-whatsapp"><a class="d-flex align-items-center justify-content-center" target="_blank" href="whatsapp://send?text='.urlencode(wp_get_shortlink()).'" data-action="share/whatsapp/share" title="WhatsApp"><i class="fab fa-fw fa-whatsapp"></i><span class="d-none d-lg-block ss-label">WhatsApp</span></a></div> <div class="d-flex flex-grow-children ss-button ss-twitter"><a class="d-flex align-items-center justify-content-center" target="_blank" href="https://twitter.com/intent/tweet?text='.urlencode(get_the_title()).'&url='.urlencode(wp_get_shortlink()).'" title="Twitter"><i class="fab fa-fw fa-twitter"></i><span class="d-none d-lg-block ss-label">Twitter</span></a></div> <div class="d-none d-lg-flex flex-grow-none flex-grow-children ss-button ss-short-link"><div class="d-flex align-items-center justify-content-center" title="رابط مختصر"><i class="fa fa-fw fa-link"></i><input class="sm-font form-control" type="text" value="'.wp_get_shortlink().'" readonly /></div></div> </div>'; return apply_filters('a4h_filter_post_sharing_buttons_default', $output); } function a4h_post_sharing_buttons($location = 'custom', $echo = true) { if ( $location == 'top' && ( !a4h_options('display_share_buttons_top') || !a4h_case('display_share_buttons_top') ) ) { return; } if ( $location == 'bottom' && ( !a4h_options('display_share_buttons_bottom') || !a4h_case('display_share_buttons_bottom') ) ) { return; } $output = ''; $output .= '<div class="share-buttons share-buttons-'.$location.'">'; $output .= '<div class="d-flex align-items-center share-buttons-inner">'; $output .= '<div class="d-flex align-items-center sb-label"></div>'; $output .= '<div class="d-flex flex-grow flex-wrap justify-content-center share-buttons-buttons">'; $output .= a4h_options('custom_share_code') ? do_shortcode(a4h_options('custom_share_code')) : a4h_post_sharing_buttons_default(); $output .= '</div>'; $output .= '</div>'; $output .= '</div>'; if ( $echo ) { echo $output; } else { return $output; } } add_shortcode('share_buttons', 'a4h_post_sharing_buttons'); function a4h_post_author_block() { global $post; if ( !a4h_options('display_author_block') || !a4h_case('display_author_block') ) { return; } $author_avatar = get_avatar(get_the_author_meta('email', $post->post_author), 100); $author_name = get_the_author_meta('display_name', $post->post_author); $author_posts_count = count_user_posts($post->post_author); $author_posts_url = esc_url(get_author_posts_url(get_the_author_meta('ID', $post->post_author))); $author_posts_url_title = sprintf(__('All posts by: %s', THEME_TEXT_DOMAIN), get_the_author_meta('display_name', $post->post_author)); $author_description = get_the_author_meta('description', $post->post_author); $author_social_links = ''; $author_social_links_output = array( 'website' => array( 'url' => get_the_author_meta('url', $post-> post_author), 'label' => 'Website', 'icon_class' => 'link', ), 'facebook' => array( 'url' => get_the_author_meta('facebook', $post->post_author), 'label' => 'Facebook', 'icon_class' => 'facebook-f', ), 'twitter' => array( 'url' => get_the_author_meta('twitter', $post->post_author) ? 'https://twitter.com/'. get_the_author_meta('twitter', $post->post_author) : '', 'label' => 'Twitter', 'icon_class' => 'twitter', ), 'youtube' => array( 'url' => get_the_author_meta('youtube', $post->post_author), 'label' => 'YouTube', 'icon_class' => 'youtube', ), 'linkedin' => array( 'url' => get_the_author_meta('linkedin', $post->post_author), 'label' => 'LinkedIn', 'icon_class' => 'linkedin', ), ); unset($author_social_links_output['website']); foreach ( $author_social_links_output as $author_social_link_output_key => $author_social_link_output_value ) { if ( empty($author_social_links_output[$author_social_link_output_key]['url']) ) { unset($author_social_links_output[$author_social_link_output_key]); } } if ( !empty($author_social_links_output) ) { $author_social_links .= '<div class="circleIn social-links style1 mt-3">'; $author_social_links .= '<ul class="d-flex flex-wrap align-items-center">'; $author_social_links .= '<li class="sb-label"></li>'; foreach ( $author_social_links_output as $author_social_link_output ) { if ( empty($author_social_link_output['url']) ) { continue; } $author_social_links .= '<li class="sb-'.$author_social_link_output['icon_class'].'"><a target="_blank" href="'.esc_url($author_social_link_output['url']).'" title="'.$author_social_link_output['label'].'"><i class="fab fa-fw fa-'.$author_social_link_output['icon_class'].'"></i><span>'.$author_social_link_output['label'].'</span></a></li>'; } $author_social_links .= '</ul>'; $author_social_links .= '</div>'; } ?> <section class="site-section section-author"> <header class="widget-header"> <div class="widget-title"> <h2><?php _e('About the author', THEME_TEXT_DOMAIN); ?></h2> </div> </header> <div class="content-inner"> <div class="author-inner"> <div class="row"> <?php if ( $author_avatar ) { ?> <div class="col-auto author-avatar"> <div class="author-avatar-inner"><?php echo $author_avatar; ?></div> </div> <?php } ?> <div class="col author-info"> <div class="title-font author-title"><h2 class="lg-font"><a href="<?php echo $author_posts_url; ?>" title="<?php echo $author_posts_url_title; ?>"><?php echo $author_name; ?></a></h2></div> <?php if ( $author_description ) { ?> <div class="author-description"><?php echo $author_description; ?></div> <?php } ?> <?php if ( $author_social_links ) { ?> <div class="author-social-links"><?php echo $author_social_links; ?></div> <?php } ?> <?php do_action('a4h_hook_post_author_block_end'); ?> </div> </div> </div> </div> </section> <?php } add_action('a4h_hook_archive_start_before', 'a4h_post_author_block'); function a4h_fb_sdk_js() { ?> <script> window.fbAsyncInit = function() { FB.init({ appId : '<?php echo a4h_options('fb_app_id'); ?>', autoLogAppEvents : true, xfbml : true, version : 'v2.9' }); FB.AppEvents.logPageView(); }; (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/<?php echo apply_filters('a4h_filter_fb_locale', 'ar_AR'); ?>/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <?php } function a4h_analytics_tracking_for_author_show_profile_fields($user) { if ( !a4h_ads('author_ganalytics') ) { return; } ?> <div id="ga-wrap" style="margin-bottom: 20px; padding: 10px; background: #FFFFFF; box-shadow: 0px 0px 4px rgba(0,0,0,0.3)"> <h3>Google Analytics</h3> <table class="form-table"> <tr> <th><label for="ganalytics">Google Analytics Tracking ID</label></th> <td> <input type="text" name="ganalytics" id="ganalytics" value="<?php echo esc_attr(get_the_author_meta('ganalytics', $user->ID)); ?>" class="regular-text" style="text-align: left; direction: ltr;" /><br /> <span class="description">ادخل الرقم التعريفي للتتبع الخاص بحسابك على جوجل انلايتيكس لكي تتمكن من معرفة نشاط الزوار في مواضيعك.</span> </td> </tr> </table> </div> <?php } add_action('show_user_profile', 'a4h_analytics_tracking_for_author_show_profile_fields'); add_action('edit_user_profile', 'a4h_analytics_tracking_for_author_show_profile_fields'); function a4h_analytics_tracking_for_author_save_profile_fields($user_id) { if ( !a4h_ads('author_ganalytics') ) { return; } if ( !current_user_can('edit_user', $user_id) ) { return; } update_user_meta($user_id, 'ganalytics', strip_tags($_POST['ganalytics'])); } add_action('personal_options_update', 'a4h_analytics_tracking_for_author_save_profile_fields'); add_action('edit_user_profile_update', 'a4h_analytics_tracking_for_author_save_profile_fields'); function a4h_analytics_tracking() { if ( !a4h_options('ganalytics') ) { return; } ?> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', '<?php echo a4h_options('ganalytics'); ?>', 'auto'); <?php do_action('a4h_hook_ganalytics_js_end'); ?> ga('send', 'pageview'); </script> <?php } add_action('a4h_hook_body_end', 'a4h_analytics_tracking'); function a4h_analytics_tracking_for_author() { global $post; if ( !a4h_ads('author_ganalytics') ) { return; } if ( !is_singular() || !get_the_author_meta('ganalytics', $post->post_author) ) { return; } ?> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', '<?php echo esc_attr(get_the_author_meta('ganalytics', $post->post_author)); ?>','auto','clientTracker'); ga('clientTracker.send', 'pageview'); </script> <?php } add_action('a4h_hook_body_end', 'a4h_analytics_tracking_for_author'); function a4h_hook_main_post_meta() { $items = array('author', 'taxonomies', 'updated'); $items = apply_filters('a4h_filter_main_post_meta_items', $items); foreach ( $items as $item ) { a4h_post_meta_item($item); } } add_action('a4h_hook_main_post_meta', 'a4h_hook_main_post_meta'); function a4h_filter_post_meta_item_prefix($meta) { switch ($meta) { case 'published': $prefix = 'Posted by'; break; case 'updated': $prefix = 'Last Modified'; break; case 'author': $prefix = 'Posted by'; break; case 'author': $prefix = 'Posted by'; break; case 'views': $prefix = 'Views'; break; case 'comments': $prefix = 'Comments'; break; case 'taxonomies': $prefix = 'In'; break; case 'taxonomy': $prefix = 'In'; break; } return __($prefix, THEME_TEXT_DOMAIN); } function a4h_hook_content_start() { if ( !is_author() ) { return; } a4h_post_author_block(); } add_action('a4h_hook_content_start', 'a4h_hook_content_start', 99999);