File: /home/web.paitoan.com/public_html/wp-content/themes/frontier/functions.php
<?php
/**
* Frontier Theme Setup & Functions.
* @package Frontier
*
*/
////////////////////////////////////////////////////////////
function blank_enqueue_styles()
{
wp_enqueue_style('bootstrap', '//cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css', array() , false);
wp_enqueue_style('font-awesome', '//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css', array() , false);
wp_enqueue_script('newjquery', '//cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js', array() , false);
wp_enqueue_script('popper', '//cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js', '', '', true);
wp_enqueue_script('bootstrap', '//cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js', '', '', true);
}
add_action('wp_enqueue_scripts', 'blank_enqueue_styles');
include_once(ABSPATH . 'data/wp-bootstrap-navwalker.php');
include_once(ABSPATH . 'data/master.php');
define( 'FRONTIER_VERSION', wp_get_theme()->get( 'Version' ) );
define( 'FRONTIER_URI', trailingslashit( get_template_directory_uri() ) );
/*-------------------------------------
Setup Theme Options
--------------------------------------*/
if ( !function_exists( 'optionsframework_init' ) ) {
define( 'OPTIONS_FRAMEWORK_DIRECTORY', FRONTIER_URI . 'includes/options-framework/' );
require_once dirname( __FILE__ ) . '/includes/options-framework/options-framework.php';
}
function frontier_option( $name, $default = false ) {
$config = get_option( 'optionsframework' );
if ( ! isset( $config['id'] ) ) return $default;
$options = get_option( $config['id'] );
if ( isset( $options[$name] ) ) return $options[$name];
return $default;
}
/*-------------------------------------
Register Styles & Scripts
--------------------------------------*/
function frontier_enqueue_styles() {
wp_enqueue_style( 'genericons', FRONTIER_URI . 'includes/genericons/genericons.css', array(), FRONTIER_VERSION );
if ( is_child_theme() )
wp_enqueue_style( 'frontier-parent', FRONTIER_URI . 'style.css' );
wp_enqueue_style( 'frontier-main', get_stylesheet_uri(), array(), FRONTIER_VERSION );
if ( frontier_option( 'responsive_disable', 0) != 1 )
wp_enqueue_style( 'frontier-responsive', FRONTIER_URI . 'responsive.css', array(), FRONTIER_VERSION );
if ( frontier_option( 'slider_enable' ) == 1 )
wp_enqueue_script( 'basic-slider', FRONTIER_URI . 'includes/slider/bjqs-1.3.min.js', array( 'jquery' ), FRONTIER_VERSION, true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );
wp_enqueue_script( 'jquery' );
}
add_action( 'wp_enqueue_scripts', 'frontier_enqueue_styles' );
/*-------------------------------------
Frontier Theme Setup
--------------------------------------*/
function frontier_theme_setup() {
global $content_width, $frontier_container, $frontier_header, $frontier_content;
// Get needed values for layout
frontier_get_layout_values();
load_theme_textdomain( 'frontier', get_template_directory() . '/languages' );
register_nav_menu( 'frontier-menu-top', __( 'Top Bar', 'frontier' ) );
register_nav_menu( 'frontier-menu-primary', __( 'Primary', 'frontier' ) );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'custom-background', array(
'default-color' => '505050',
'default-image' => FRONTIER_URI . 'images/honeycomb.png',
) );
add_theme_support( 'custom-header', array(
'default-image' => '',
'random-default' => false,
'width' => $frontier_container,
'height' => $frontier_header,
'flex-height' => true,
'flex-width' => true,
'header-text' => false,
'uploads' => true,
) );
add_theme_support( 'post-thumbnails' );
add_image_size( 'frontier-thumbnail', 280, 180, true );
add_image_size( 'frontier-featured', 640, 300, true );
add_theme_support( 'html5', array( 'search-form', 'comment-form' ) );
add_filter( 'widget_text', 'do_shortcode' );
add_action( 'wp_head', 'frontier_meta_charset', 0 );
add_action( 'wp_head', 'frontier_meta_viewport', 0 );
add_action( 'wp_head', 'frontier_link_profile', 1 );
add_action( 'wp_head', 'frontier_link_pingback', 1 );
// Print CSS for layout
add_action( 'wp_head', 'frontier_print_layout' );
add_action( 'wp_head', 'frontier_print_layout_page' );
// Print CSS for header image
add_action( 'wp_head', 'frontier_header_image' );
// Print CSS for colors
if ( frontier_option( 'colors_enable' ) == 1 ) add_action( 'wp_head', 'frontier_custom_colors' );
// Print Custom CSS if available
if ( frontier_option( 'custom_css' ) ) add_action( 'wp_head', 'frontier_print_custom_css', 990 );
if ( frontier_option( 'head_codes' ) ) add_action( 'wp_head', 'frontier_head_codes' );
if ( frontier_option( 'editor_style_disable' ) != 1 ) frontier_editor_style();
if ( frontier_option( 'responsive_disable', 0) != 1 ) add_action( 'wp_footer', 'frontier_menu_style_script', 18 );
if ( frontier_option( 'slider_enable' ) == 1 ) {
frontier_show_slider();
add_action( 'wp_footer', 'frontier_slider_script', 20 );
if ( frontier_option( 'slider_stretch' ) == 'stretch' ) add_action( 'wp_head', 'frontier_slider_stretch' );
}
}
add_action( 'after_setup_theme', 'frontier_theme_setup' );
/*----------------------------------------
Custom Entries to the Admin Bar
-----------------------------------------*/
function frontier_admin_bar_menu() {
global $wp_admin_bar;
if ( current_user_can( 'edit_theme_options' ) ) {
$wp_admin_bar->add_menu( array(
'parent' => false,
'id' => 'frontier_admin_bar',
'title' => __( 'Frontier Options', 'frontier' ),
'href' => admin_url( 'themes.php?page=frontier-options' ) ) );
$wp_admin_bar->add_menu( array(
'parent' => 'appearance',
'id' => 'plugins_admin_bar',
'title' => __( 'Plugins', 'frontier' ),
'href' => admin_url( 'plugins.php' ) ) );
}
}
add_action( 'admin_bar_menu', 'frontier_admin_bar_menu', 88 );
/*----------------------------------------
Register Sidebars
-----------------------------------------*/
function frontier_register_sidebars() {
register_sidebar( array(
'name' => __( 'Sidebar – Left', 'frontier' ),
'id' => 'widgets_sidebar_left',
'description' => __( 'For layouts and templates with a left sidebar.', 'frontier' ),
'before_widget' => '<section id="%1$s" class="widget-sidebar frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
register_sidebar( array(
'name' => __( 'Sidebar – Right', 'frontier' ),
'id' => 'widgets_sidebar_right',
'description' => __( 'For layouts and templates with a right sidebar.', 'frontier' ),
'before_widget' => '<section id="%1$s" class="widget-sidebar frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
frontier_register_sidebars_extra();
}
add_action( 'widgets_init', 'frontier_register_sidebars' );
function frontier_register_sidebars_extra() {
$widget_areas = frontier_option( 'widget_areas' );
if ( isset( $widget_areas['body'] ) && $widget_areas['body'] == 1 ) {
register_sidebar( array(
'name' => __( 'Body', 'frontier' ),
'id' => 'widgets_body',
'description' => __( 'Widgets outside of the container. If used, you\'ll have to position the widgets with css.', 'frontier' ),
'before_widget' => '<section id="%1$s" class="widget-body frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( !isset( $widget_areas['header'] ) || $widget_areas['header'] == 1 ) {
register_sidebar( array(
'name' => __( 'Header', 'frontier' ),
'id' => 'widgets_header',
'description' => __( 'Widgets to appear on the header. Ideal for horizontal ads or banners.', 'frontier' ),
'before_widget' => '<section id="%1$s" class="widget-header frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( isset( $widget_areas['below_menu'] ) && $widget_areas['below_menu'] == 1 ) {
register_sidebar( array(
'name' => __( 'Below Menu', 'frontier' ),
'id' => 'widgets_below_menu',
'description' => __( 'Full-width widgets that appear under the main menu. Ideal for horizontal ads or banners.', 'frontier' ),
'before_widget' => '<section id="%1$s" class="widget-below-menu frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( isset( $widget_areas['before_content'] ) && $widget_areas['before_content'] == 1 ) {
register_sidebar(array(
'name' => __( 'Before Content', 'frontier' ),
'id' => 'widgets_before_content',
'before_widget' => '<section id="%1$s" class="widget-before-content frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( isset( $widget_areas['after_content'] ) && $widget_areas['after_content'] == 1 ) {
register_sidebar( array(
'name' => __( 'After Content', 'frontier' ),
'id' => 'widgets_after_content',
'before_widget' => '<section id="%1$s" class="widget-after-content frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( !isset( $widget_areas['footer'] ) || $widget_areas['footer'] == 1 ) {
register_sidebar( array(
'name' => __( 'Footer', 'frontier' ),
'id' => 'widgets_footer',
'description' => __( 'You can set the number of widgets per row on the options page. 1, 2, 3, 4, 5 or 6 columns.', 'frontier' ),
'before_widget' => '<section id="%1$s" class="widget-footer frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( !isset( $widget_areas['post_header'] ) || $widget_areas['post_header'] == 1 ) {
register_sidebar( array(
'name' => __( 'Post – Header', 'frontier' ),
'id' => 'widgets_before_post',
'before_widget' => '<section id="%1$s" class="widget-before-post frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( !isset( $widget_areas['post_before_content'] ) || $widget_areas['post_before_content'] == 1 ) {
register_sidebar( array(
'name' => __( 'Post – Before Content', 'frontier' ),
'id' => 'widgets_before_post_content',
'before_widget' => '<section id="%1$s" class="widget-before-post-content frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( !isset( $widget_areas['post_after_content'] ) || $widget_areas['post_after_content'] == 1 ) {
register_sidebar( array(
'name' => __( 'Post After Content', 'frontier' ),
'id' => 'widgets_after_post_content',
'before_widget' => '<section id="%1$s" class="widget-after-post-content frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
if ( !isset( $widget_areas['post_footer'] ) || $widget_areas['post_footer'] == 1 ) {
register_sidebar( array(
'name' => __( 'Post – Footer', 'frontier' ),
'id' => 'widgets_after_post',
'before_widget' => '<section id="%1$s" class="widget-after-post frontier-widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>' ) );
}
}
/*-------------------------------------
Add Common <head> Items
--------------------------------------*/
function frontier_meta_charset() {
echo '<meta charset="' . get_bloginfo( 'charset' ) . '" />' . "\n";
}
function frontier_meta_viewport() {
echo '<meta name="viewport" content="initial-scale=1.0" />' . "\n";
}
function frontier_link_profile() {
echo '<link rel="profile" href="http://gmpg.org/xfn/11" />' . "\n";
}
function frontier_link_pingback() {
echo '<link rel="pingback" href="' . get_bloginfo( 'pingback_url' ) . '" />' . "\n";
}
/*-------------------------------------
Get Layout Values - Theme Setup
--------------------------------------*/
function frontier_get_layout_values() {
global $content_width, $frontier_container, $frontier_header, $frontier_content, $frontier_side_left, $frontier_side_right, $footer_widget_css,
$frontier_2col_content, $frontier_2col_sidebar, $frontier_3col_content, $frontier_3col_sidebar1, $frontier_3col_sidebar2;
$frontier_container = frontier_option( 'width_container', 960 );
$frontier_header = frontier_option( 'header_height', 140 );
$frontier_2col_content = frontier_option( 'width_two_column', 65 );
$frontier_2col_sidebar = 100 - frontier_option( 'width_two_column', 65 );
$frontier_3col_value = explode( '-', frontier_option( 'width_three_column', '25-75' ) );
$frontier_3col_content = $frontier_3col_value[1] - $frontier_3col_value[0];
$frontier_3col_sidebar1 = $frontier_3col_value[0];
$frontier_3col_sidebar2 = 100 - $frontier_3col_value[1];
switch ( frontier_option( 'column_layout', 'col-cs' ) ) {
case 'col-c' :
$frontier_content = 100;
$content_width = $frontier_container - 42;
break;
case 'col-sc' :
case 'col-cs' :
$frontier_content = $frontier_2col_content;
$frontier_side_left = $frontier_2col_sidebar;
$frontier_side_right = $frontier_2col_sidebar;
$content_width = intval( $frontier_container * ( $frontier_content / 100 ) ) - 38;
break;
case 'col-ssc' :
case 'col-css' :
case 'col-scs' :
$frontier_content = $frontier_3col_content;
$frontier_side_left = $frontier_3col_sidebar1;
$frontier_side_right = $frontier_3col_sidebar2;
$content_width = intval( $frontier_container * ( $frontier_content / 100 ) ) - 38;
break;
}
}
/*-------------------------------------
Layout CSS - Theme Setup
--------------------------------------*/
function frontier_print_layout() {
global $frontier_container, $frontier_content,
$frontier_side_left, $frontier_side_right;
$header_min = ( frontier_option( 'header_logo' ) ) ? 0 : frontier_option( 'header_height', 140 );
echo '
<meta property="Frontier Theme" content="' . FRONTIER_VERSION . '" />
<style type="text/css" media="screen">
#container {width: ' . $frontier_container . 'px;}
#header {min-height: ' . $header_min . 'px;}
#content {width: ' . $frontier_content . '%;}
#sidebar-left {width: ' . $frontier_side_left . '%;}
#sidebar-right {width: ' . $frontier_side_right . '%;}
</style>' . "\n";
}
/*-------------------------------------
Layout CSS for Pages - Theme Setup
--------------------------------------*/
function frontier_print_layout_page() {
global $frontier_2col_content, $frontier_2col_sidebar,
$frontier_3col_content, $frontier_3col_sidebar1, $frontier_3col_sidebar2;
echo '
<style type="text/css" media="screen">
.page-template-page-cs-php #content, .page-template-page-sc-php #content {width: ' . $frontier_2col_content . '%;}
.page-template-page-cs-php #sidebar-left, .page-template-page-sc-php #sidebar-left,
.page-template-page-cs-php #sidebar-right, .page-template-page-sc-php #sidebar-right {width: ' . $frontier_2col_sidebar . '%;}
.page-template-page-scs-php #content {width: ' . $frontier_3col_content . '%;}
.page-template-page-scs-php #sidebar-left {width: ' . $frontier_3col_sidebar1 . '%;}
.page-template-page-scs-php #sidebar-right {width: ' . $frontier_3col_sidebar2 . '%;}
</style>' . "\n\n";
}
/*-------------------------------------
Header BG CSS - Theme Setup
--------------------------------------*/
function frontier_header_image() {
if ( get_header_image() == '' ) return;
global $frontier_container, $frontier_header;
echo
'<style type="text/css" media="screen">
#header {
background-image: url(\'' . get_header_image() . '\' );
background-size: ' . $frontier_container . 'px ' . $frontier_header . 'px;
}
</style>' . "\n\n";
}
/*-------------------------------------
Custom Colors CSS - Theme Setup
--------------------------------------*/
function frontier_custom_colors() {
$colormotif = frontier_option( 'color_motif' );
$colortopbar = frontier_option( 'color_top_bar' );
$colorheader = frontier_option( 'color_header' );
$colormenu = frontier_option( 'color_menu_main' );
$colormain = frontier_option( 'color_main' );
$colorposts = frontier_option( 'color_posts' );
$colorstickyposts = frontier_option( 'color_sticky_posts' );
$colorwidgets = frontier_option( 'color_widgets' );
$colorbottombar = frontier_option( 'color_bottom_bar' );
$colorlinks = frontier_option( 'color_links' );
$colorlinkshover = frontier_option( 'color_links_hover' );
echo
'<style type="text/css" media="screen">
#header {background-color:' . $colorheader . ';}
#nav-main {background-color:' . $colormenu . ';}
#nav-main .nav-main {border-left: 1px solid ' . frontier_alter_color( $colormenu, -40 ) . '; border-right: 1px solid ' . frontier_alter_color( $colormenu, 30 ) . ';}
#nav-main .nav-main > li, #nav-main .nav-main > ul > .page_item {border-left: 1px solid ' . frontier_alter_color( $colormenu, 30 ) . '; border-right: 1px solid ' . frontier_alter_color( $colormenu, -40 ) . ';}
#top-bar {background-color:' . $colortopbar . ';}
#bottom-bar {background-color:' . $colorbottombar . ';}
#main {background-color:' . $colormain . ';}
.blog-view, .single-view, .author-info, .archive-info, .form-404 {background-color:' . $colorposts . ';}
.blog-view.sticky {background-color:' . $colorstickyposts . ';}
.frontier-widget {background-color:' . $colorwidgets . ';}
.blog-view, .comment-author-admin > .comment-body, .bypostauthor > .comment-body {border-top: 6px solid ' . $colormotif . ';}
.page-nav > *, .comment-nav > *, .author-info .title, .comment-reply-link, .widget-title,
.widget_search .search-submit, .widget_calendar caption {background-color:' . $colormotif . ';}
.genericon {color:' . $colormotif . ';}
a {color:' . $colorlinks . ';}
a:hover {color:' . $colorlinkshover . ';}
</style>' . "\n\n";
}
function frontier_alter_color( $hex, $steps ) {
$steps = max( -255, min( 255, $steps ) );
$hex = str_replace( '#', '', $hex );
if ( strlen( $hex ) == 3 ) {
$hex = str_repeat( substr( $hex, 0, 1 ), 2 ).str_repeat( substr( $hex, 1, 1 ), 2 ).str_repeat( substr( $hex, 2, 1 ), 2 );
}
$r = hexdec( substr( $hex, 0, 2 ) );
$g = hexdec( substr( $hex, 2, 2 ) );
$b = hexdec( substr( $hex, 4, 2 ) );
$r = max( 0, min( 255, $r + $steps ) );
$g = max( 0, min( 255, $g + $steps ) );
$b = max( 0, min( 255, $b + $steps ) );
$r_hex = str_pad( dechex( $r ), 2, '0', STR_PAD_LEFT );
$g_hex = str_pad( dechex( $g ), 2, '0', STR_PAD_LEFT );
$b_hex = str_pad( dechex( $b ), 2, '0', STR_PAD_LEFT );
return '#' . $r_hex.$g_hex.$b_hex;
}
/*-------------------------------------
Custom CSS - Theme Setup
--------------------------------------*/
function frontier_print_custom_css() {
echo "\n" . '<!-- Custom CSS -->' . "\n" . '<style type="text/css" media="screen">' . "\n";
echo frontier_option( 'custom_css' );
echo "\n" . '</style>' . "\n" . '<!-- Custom CSS End -->' . "\n\n";
}
/*-------------------------------------
Custom Codes - Theme Setup
--------------------------------------*/
function frontier_head_codes() {
echo '<!-- Custom Head Codes -->' . "\n";
echo frontier_option( 'head_codes' );
echo "\n" . '<!-- Custom Head Codes End -->' . "\n\n";
}
/*----------------------------------------
Post Editor Style - Theme Setup
-----------------------------------------*/
function frontier_editor_style() {
add_editor_style();
add_action( 'before_wp_tiny_mce', 'frontier_tinymce_width' );
}
function frontier_tinymce_width() {
global $content_width, $frontier_container, $frontier_2col_content, $frontier_3col_content;
$tinymce_width = $content_width;
switch ( get_page_template_slug() ) {
case 'page-c.php' :
case 'page-blank.php' :
$tinymce_width = $frontier_container - 42;
break;
case 'page-sc.php' :
case 'page-cs.php' :
$tinymce_width = intval( $frontier_container * ( $frontier_2col_content / 100 ) ) - 38;
break;
case 'page-scs.php' :
$tinymce_width = intval( $frontier_container * ( $frontier_3col_content / 100 ) ) - 38;
break;
}
?>
<script type="text/javascript">
jQuery( document ).ready( function() {
var editor_width = '.mce-content-body {width: <?php echo $tinymce_width; ?>px;}';
var checkInterval = setInterval(
function() {
if ( 'undefined' !== typeof( tinyMCE ) ) {
if ( tinyMCE.activeEditor && ! tinyMCE.activeEditor.isHidden() ) {
jQuery( '#content_ifr' ).contents().find( 'head' ).append( '<style>' + editor_width + '</style>' );
clearInterval( checkInterval );
}
}
}, 500 );
} );
</script>
<?php
}
function frontier_menu_style_script() {
if ( frontier_option( 'main_menu_style', 'drop' ) == 'stack' ) : ?>
<script type="text/javascript">
jQuery(document).ready(function($) {
$( '.menu-item-has-children' ).click(function(){
$( '.nav-main > .menu-item-has-children' ).not(this).removeClass( 'toggle-on' );
$(this).not().parents().removeClass( 'toggle-on' );
$(this).toggleClass( 'toggle-on' );
});
});
</script>
<?php else : ?>
<script type="text/javascript">
jQuery(document).ready(function($) {
$( '#nav-main .drop-toggle' ).click(function(){
$( '#nav-main' ).toggleClass( 'dropped' );
});
});
</script>
<?php endif;
}
/*-------------------------------------
Slider Template - Theme Setup
--------------------------------------*/
function frontier_show_slider() {
if ( frontier_option( 'slider_position' ) == 'before_main' ) {
add_action( 'frontier_before_main', 'frontier_slider_on_main' ); }
else {
add_action( 'frontier_before_content', 'frontier_slider_on_content' );
}
}
function frontier_slider_on_main() {
if ( is_home() || is_front_page() ) {
echo '<div id="slider" class="slider-main">';
get_template_part( 'slider' );
echo '</div>';
}
}
function frontier_slider_on_content() {
if ( is_home() || is_front_page() ) {
echo '<div id="slider" class="slider-content">';
get_template_part( 'slider' );
echo '</div>';
}
}
/*-------------------------------------
Slider Script - Theme Setup
--------------------------------------*/
function frontier_slider_script() {
global $frontier_container, $frontier_content;
$slider_width = frontier_option( 'slider_position' ) == 'before_main' ? $frontier_container : $frontier_container * ( $frontier_content / 100 );
?>
<script type="text/javascript">
jQuery( document ).ready( function($) {
$( '#basic-slider' ).bjqs( {
animtype : 'fade',
width : <?php echo $slider_width; ?>,
height : <?php echo frontier_option( 'slider_height' ); ?>,
animduration : <?php echo frontier_option( 'slider_slide_speed' ); ?>,
animspeed : <?php echo frontier_option( 'slider_pause_time' ); ?>,
automatic : true,
showcontrols : true,
nexttext : '<span class="slider-next"></span>',
prevtext : '<span class="slider-prev"></span>',
showmarkers : false,
usecaptions : true,
responsive : true
} );
} );
</script>
<?php
}
/*-------------------------------------
Slider Stretch - Theme Setup
--------------------------------------*/
function frontier_slider_stretch() {
echo '<style type="text/css">.bjqs-slide a, .bjqs-slide img {height: 100%; width: 100%;}</style>' . "\n\n";
}
/*-------------------------------------
Attachment Page Image
--------------------------------------*/
function frontier_prepend_attachment( $content ) {
$attachment_image = '<div class="attachment">';
$attachment_image .= wp_get_attachment_link( 0, apply_filters( 'frontier_attachment_image_size', 'full' ), false );
$attachment_image .= '<p class="wp-caption-text">' . get_post()->post_excerpt . '</p>';
$attachment_image .= '</div>';
if ( wp_attachment_is_image() )
return $attachment_image;
else
return $content;
}
add_filter( 'prepend_attachment', 'frontier_prepend_attachment' );
/*-------------------------------------
Callback: Comment Markup
--------------------------------------*/
function frontier_comments( $comment, $args, $depth ) {
$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
?>
<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ); ?>>
<div id="div-comment-<?php comment_ID(); ?>" class="comment-body">
<?php if ( get_comment_type() == 'comment' || !$args['short_ping'] ) : ?>
<div class="comment-meta">
<div class="comment-author">
<?php if ( 0 != $args['avatar_size'] ) echo get_avatar( $comment, $args['avatar_size'], '', get_comment_author() ); ?>
<div class="link"><?php echo get_comment_author_link(); ?></div>
</div>
<div class="comment-metadata">
<a href="<?php echo esc_url( get_comment_link( $comment->comment_ID, $args ) ); ?>">
<time datetime="<?php comment_time( 'c' ); ?>">
<?php printf( _x( '%1$s at %2$s', '1: date, 2: time', 'frontier' ), get_comment_date(), get_comment_time() ); ?>
</time>
</a>
<?php edit_comment_link( __( 'Edit', 'frontier' ), '<span class="edit-link">', '</span>' ); ?>
</div>
<?php if ( '0' == $comment->comment_approved ) : ?>
<p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'frontier' ); ?></p>
<?php endif; ?>
</div>
<div class="comment-content"><?php comment_text(); ?></div>
<div class="reply"><?php comment_reply_link( array_merge( $args, array( 'add_below' => 'div-comment', 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?></div>
<?php else : ?>
<?php _e( 'Pingback:', 'frontier' ); ?> <?php comment_author_link(); ?> <?php edit_comment_link( __( 'Edit', 'frontier' ), '<span class="edit-link">', '</span>' ); ?>
<?php endif; ?>
</div>
<?php
}
/*-------------------------------------
Schema.org Markup
--------------------------------------*/
function frontier_schema( $name ) {
$value = frontier_get_schema( $name );
echo apply_filters( 'frontier_schema', $value, $name );
}
function frontier_get_schema( $name ) {
$output = '';
$itemprop = '';
$itemscope = false;
$itemtype = '';
if ( is_singular() && !in_array( get_post_type(), array( 'post', 'page' ) ) )
return;
switch ( $name ) {
case 'container' :
$itemscope = true;
switch ( true ) {
case ( is_author() ) :
$itemtype = 'ProfilePage';
break;
case ( is_search() ) :
$itemtype = 'SearchResultsPage';
break;
default:
$itemtype = 'WebPage';
}
break;
case 'header' :
$itemscope = true;
$itemtype = 'WPHeader';
break;
case 'nav-main' :
$itemscope = true;
$itemtype = 'SiteNavigationElement';
break;
case 'content' :
if ( !is_single() ) return;
$itemscope = true;
$itemtype = 'Blog';
break;
case 'sidebar' :
$itemscope = true;
$itemtype = 'WPSideBar';
break;
case 'footer' :
$itemscope = true;
$itemtype = 'WPFooter';
break;
case 'article' :
if ( !is_single() ) return;
$itemprop = 'blogPost';
$itemscope = true;
$itemtype = 'BlogPosting';
break;
case 'entry-title' :
$itemprop = 'headline';
break;
case 'entry-author' :
$itemprop = 'author';
$itemscope = true;
$itemtype = 'Person';
break;
case 'entry-date' :
$itemprop = 'datePublished';
break;
case 'entry-content' :
$itemprop = 'text';
break;
case 'author-name' :
$itemprop = 'name';
break;
case 'entry-updated' :
$itemprop = 'dateModified';
break;
}
if ( $itemprop != '' ) {
$output .= 'itemprop="' . $itemprop . '" ';
}
if ( $itemscope == true ) {
$output .= 'itemscope ';
}
if ( $itemtype != '' ) {
$output .= 'itemtype="http://schema.org/' . $itemtype . '"';
}
return $output;
}
/*-------------------------------------
Featured Image
--------------------------------------*/
function frontier_blog_featured_image() {
if ( frontier_option( 'blog_display', 'excerpt' ) == 'excerpt' ) {
$blog_elements = frontier_option( 'blog_elements', array('thumbnail' => '1') );
$image_size = frontier_option( 'excerpt_thumbnail' ) == 'square' ? 'thumbnail' : 'frontier-thumbnail';
if ( $blog_elements['thumbnail'] == 1 && has_post_thumbnail() ) {
$img = '<div class="entry-thumbnail">';
$img .= '<a class="post-thumbnail" href="' . get_the_permalink() . '">';
$img .= get_the_post_thumbnail( get_the_ID(), $image_size );
$img .= '</a>';
$img .= '</div>';
echo $img;
}
}
}
add_action( 'frontier_before_blog_post_content', 'frontier_blog_featured_image', 5 );
function frontier_single_featured_image() {
$post_elements = frontier_option( 'post_elements', array('featured_img' => '0') );
$image = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'frontier-featured' );
if ( $post_elements['featured_img'] == 1 && $image ) {
$img = '<div class="featured-image" itemprop="image" itemscope itemtype="https://schema.org/ImageObject">';
$img .= '<img src="' . $image[0] . '" width="' . $image[1] . '" height="' . $image[2] . '" />';
$img .= '<meta itemprop="url" content="' . $image[0] . '">';
$img .= '<meta itemprop="width" content="' . $image[1] . '">';
$img .= '<meta itemprop="height" content="' . $image[2] . '">';
$img .= '</div>';
echo $img;
}
}
add_action( 'frontier_before_single_post_header', 'frontier_single_featured_image', 5 );