<?php
/**
* NewsCard functions and definitions
*
* This file contains all the functions and it's defination that particularly can't be
* in other files.
*
* @package NewsCard
*/
/**
* Default Option
*/
function newscard_get_option_defaults() {
$newscard_array_of_default_settings = array(
'newscard_content_layout' => get_theme_mod('newscard_content_layout','right'),
'newscard_nav_uppercase' => get_theme_mod('newscard_nav_uppercase',1),
'newscard_breadcrumbs_hide' => get_theme_mod('newscard_breadcrumbs_hide',0),
'newscard_top_bar_hide' => get_theme_mod('newscard_top_bar_hide',0),
'newscard_social_profiles' => get_theme_mod('newscard_social_profiles',''),
'newscard_top_bar_social_profiles' => get_theme_mod('newscard_top_bar_social_profiles',0),
'newscard_header_bg_overlay' => get_theme_mod('newscard_header_bg_overlay','none'),
'newscard_header_background' => get_theme_mod('newscard_header_background',''),
'newscard_header_add_image' => get_theme_mod('newscard_header_add_image',''),
'newscard_header_add_link' => get_theme_mod('newscard_header_add_link',''),
'newscard_top_stories_hide' => get_theme_mod('newscard_top_stories_hide', 0),
'newscard_top_stories_title' => get_theme_mod('newscard_top_stories_title', 'Top Stories'),
'newscard_top_stories_latest_post' => get_theme_mod('newscard_top_stories_latest_post', 'latest'),
'newscard_top_stories_categories' => get_theme_mod('newscard_top_stories_categories', array()),
'newscard_banner_display' => get_theme_mod('newscard_banner_display', 'front-blog'),
'newscard_banner_slider_posts_hide' => get_theme_mod('newscard_banner_slider_posts_hide', 0),
'newscard_banner_slider_posts_title' => get_theme_mod('newscard_banner_slider_posts_title', 'Main Stories'),
'newscard_banner_slider_latest_post' => get_theme_mod('newscard_banner_slider_latest_post', 'latest'),
'newscard_banner_slider_post_categories' => get_theme_mod('newscard_banner_slider_post_categories', array()),
'newscard_banner_featured_posts_1_hide' => get_theme_mod('newscard_banner_featured_posts_1_hide', 0),
'newscard_banner_featured_posts_1_title' => get_theme_mod('newscard_banner_featured_posts_1_title', 'Editor\'s Pick'),
'newscard_banner_featured_posts_1_latest_post' => get_theme_mod('newscard_banner_featured_posts_1_latest_post', 'latest'),
'newscard_banner_featured_posts_1_post_categories' => get_theme_mod('newscard_banner_featured_posts_1_post_categories', array()),
'newscard_banner_featured_posts_2_hide' => get_theme_mod('newscard_banner_featured_posts_2_hide', 0),
'newscard_banner_featured_posts_2_title' => get_theme_mod('newscard_banner_featured_posts_2_title', 'Trending Stories'),
'newscard_banner_featured_posts_2_latest_post' => get_theme_mod('newscard_banner_featured_posts_2_latest_post', 'latest'),
'newscard_banner_featured_posts_2_post_categories' => get_theme_mod('newscard_banner_featured_posts_2_post_categories', array()),
'newscard_header_featured_posts_hide' => get_theme_mod('newscard_header_featured_posts_hide', 0),
'newscard_header_featured_posts_banner_display' => get_theme_mod('newscard_header_featured_posts_banner_display', 'front-blog'),
'newscard_header_featured_posts_title' => get_theme_mod('newscard_header_featured_posts_title', 'Popular Stories'),
'newscard_header_featured_latest_post' => get_theme_mod('newscard_header_featured_latest_post', 'latest'),
'newscard_header_featured_post_categories' => get_theme_mod('newscard_header_featured_post_categories', array()),
'newscard_footer_featured_posts_hide' => get_theme_mod('newscard_footer_featured_posts_hide', 0),
'newscard_footer_featured_posts_title' => get_theme_mod('newscard_footer_featured_posts_title', 'You may Missed'),
'newscard_footer_featured_latest_post' => get_theme_mod('newscard_footer_featured_latest_post', 'latest'),
'newscard_footer_featured_post_categories' => get_theme_mod('newscard_footer_featured_post_categories', array()),
'newscard_featured_image_page' => get_theme_mod('newscard_featured_image_page', 0),
'newscard_featured_image_single' => get_theme_mod('newscard_featured_image_single', 0),
);
return apply_filters( 'newscard_get_option_defaults', $newscard_array_of_default_settings );
}
if ( !function_exists( 'newscard_social_profiles' ) ) {
/**
* Functions for Social Profiles.
*/
function newscard_social_profiles() {
$newscard_settings = newscard_get_option_defaults(); ?>
<ul class="clearfix">
<?php $social_arr = explode(',',$newscard_settings['newscard_social_profiles']);
foreach ($social_arr as $value) { ?>
<li><a target="_blank" href="<?php echo esc_url(trim($value)); ?>"></a></li>
<?php } ?>
</ul>
<?php }
}
if ( !function_exists('newscard_layout_primary') ) {
/**
* Functions for Sidebars.
*/
function newscard_layout_primary() {
$newscard_settings = newscard_get_option_defaults();
global $post;
if ($post) {
$newscard_meta_layout = get_post_meta($post->ID, 'newscard_sidebarlayout', true);
}
$newscard_custom_layout = $newscard_settings['newscard_content_layout'];
if ( empty($newscard_meta_layout) || is_archive() || is_search() || is_home() ) {
$newscard_meta_layout = 'default';
}
if ( 'default' == $newscard_meta_layout ) {
if ( ('right' == $newscard_custom_layout) || ('nosidebar' == $newscard_custom_layout) ) {
$class = 'col-lg-8 ';
}
elseif ( 'left' == $newscard_custom_layout ) {
$class = 'col-lg-8 order-lg-2 ';
}
elseif ( 'fullwidth' == $newscard_custom_layout ) {
$class = 'col-lg-12 ';
}
}
elseif ( ('meta-right' == $newscard_meta_layout) || ('meta-nosidebar' == $newscard_meta_layout) ) {
$class = 'col-lg-8 ';
}
elseif ( 'meta-left' == $newscard_meta_layout ) {
$class = 'col-lg-8 order-lg-2 ';
}
elseif ( 'meta-fullwidth' == $newscard_meta_layout ) {
$class = 'col-lg-12 ';
}
echo '<div id="primary" class="' . $class . 'content-area">';
}
}
if ( ! function_exists( 'newscard_posted_on' ) ) :
/**
* Prints HTML with meta information for the current post-date/time and author.
*/
function newscard_posted_on() {
$time_string = get_the_time( get_option( 'date_format' ) );
$posted_on = '<a href="' . esc_url( get_permalink() ) . '" title="'. the_title_attribute('echo=0') . '">' . $time_string . '</a> ';
$byline = '<a href="' . esc_url( get_author_posts_url( get_the_author_meta('ID') ) ) . '">' . esc_html( get_the_author() ) . '</a> ';
echo '<div class="date">' . $posted_on . '</div> <div class="by-author vcard author">' . $byline . '</div>'; // WPCS: XSS OK.
}
endif;
if ( ! function_exists( 'newscard_breadcrumbs' ) ) :
/**
* Simple Breadcrumbs.
*
* @since 1.1.1
*/
function newscard_breadcrumbs() {
if ( ! function_exists( 'breadcrumb_trail' ) ) {
require_once get_template_directory() . '/assets/library/breadcrumbs/breadcrumbs.php';
}
$args = array(
'container' => 'div',
'show_browse' => false,
);
breadcrumb_trail($args);
}
endif;
if ( ! function_exists( 'newscard_register_required_plugins' ) ) :
/**
* Register the required plugins for this theme.
*
*/
function newscard_register_required_plugins() {
$plugins = array(
array(
'name' => esc_html__( 'One Click Demo Import', 'newscard' ),
'slug' => 'one-click-demo-import',
'required' => false,
),
);
tgmpa( $plugins );
}
endif;
add_action( 'tgmpa_register', 'newscard_register_required_plugins' );
if ( ! function_exists( 'newscard_ocdi_import_files' ) ) :
/**
* function to import/export demo data
*/
function newscard_ocdi_import_files() {
return array(
array(
'import_file_name' => esc_html__('NewsCard Default', 'newscard'),
'local_import_file' => trailingslashit( get_template_directory() ) . 'assets/demo-content/default/newscard.xml',
'local_import_widget_file' => trailingslashit( get_template_directory() ) . 'assets/demo-content/default/newscard.wie',
'local_import_customizer_file' => trailingslashit( get_template_directory() ) . 'assets/demo-content/default/newscard.dat',
'import_preview_image_url' => trailingslashit( get_template_directory_uri() ) . 'screenshot.png',
'preview_url' => 'https://www.themehorse.com/preview/newscard',
),
array(
'import_file_name' => esc_html__('NewsCard Sport', 'newscard'),
'local_import_file' => trailingslashit( get_template_directory() ) . 'assets/demo-content/sport/newscard.xml',
'local_import_widget_file' => trailingslashit( get_template_directory() ) . 'assets/demo-content/sport/newscard.wie',
'local_import_customizer_file' => trailingslashit( get_template_directory() ) . 'assets/demo-content/sport/newscard.dat',
'import_preview_image_url' => trailingslashit( get_template_directory_uri() ) . 'assets/demo-content/sport/screenshot-sport.png',
'preview_url' => 'https://www.themehorse.com/preview/newscard-sport',
),
);
}
endif;
add_filter( 'pt-ocdi/import_files', 'newscard_ocdi_import_files' );
if ( ! function_exists( 'newscard_ocdi_after_import' ) ) :
/**
* function to import/export demo data
*/
function newscard_ocdi_after_import() {
// Set static front page and posts page
$front_page = 'Home';
$blog_page = 'Blog';
update_option( 'show_on_front', 'page' );
$pages = array(
'page_on_front' => $front_page,
'page_for_posts' => $blog_page,
);
foreach ( $pages as $option_key => $slug ) {
$result = get_page_by_title( $slug );
if ( $result ) {
if ( is_array( $result ) ) {
$object = array_shift( $result );
} else {
$object = $result;
}
update_option( $option_key, $object->ID );
}
}
// Assign navigation menu locations.
$menu_details = array(
'primary' => 'main-menu',
'right-section' => 'top-right-menu',
);
if ( !empty($menu_details) ) {
$nav_settings = array();
$current_menus = wp_get_nav_menus();
if ( !empty( $current_menus ) && !is_wp_error( $current_menus ) ) {
foreach ( $current_menus as $menu ) {
foreach ( $menu_details as $location => $menu_slug ) {
if ( $menu->slug === $menu_slug ) {
$nav_settings[ $location ] = $menu->term_id;
}
}
}
}
set_theme_mod( 'nav_menu_locations', $nav_settings );
}
}
endif;
add_action( 'pt-ocdi/after_import', 'newscard_ocdi_after_import' );
// Disable PT branding.
add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );