<?php

/**
 * stnews-theme functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package stnews-theme
 */
if (!defined('_S_VERSION')) {
    // Replace the version number of the theme on each release.
    define('_S_VERSION', '1.0.0');
}
if (!function_exists('stnews_theme_setup')) :
    /**
     * Sets up theme defaults and registers support for various WordPress features.
     *
     * Note that this function is hooked into the after_setup_theme hook, which
     * runs before the init hook. The init hook is too late for some features, such
     * as indicating support for post thumbnails.
     */
    function stnews_theme_setup()
    {
        /*
		 * Make theme available for translation.
		 * Translations can be filed in the /languages/ directory.
		 * If you're building a theme based on stnews-theme, use a find and replace
		 * to change 'stnews-theme' to the name of your theme in all the template files.
		 */
        load_theme_textdomain('stnews-theme', get_template_directory() . '/languages');
        // Add default posts and comments RSS feed links to head.
        add_theme_support('automatic-feed-links');
        /*
		 * Let WordPress manage the document title.
		 * By adding theme support, we declare that this theme does not use a
		 * hard-coded <title> tag in the document head, and expect WordPress to
		 * provide it for us.
		 */
        add_theme_support('title-tag');
        /*
		 * Enable support for Post Thumbnails on posts and pages.
		 *
		 * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
		 */
        add_theme_support('post-thumbnails');
        add_image_size('post-img', 270, 207, true);
        add_image_size('large-img', 770, 463, true);
        add_image_size('article-thumb', 368, 216, true);
        add_image_size('feature-thumb', 1200, 532, true);
        // This theme uses wp_nav_menu() in one location.
        register_nav_menus(
            array(
                'primary' => esc_html__('Primary', 'stnews-theme'),
                'footer-left' => esc_html__('Footer Left', 'stnews-theme'),
                'footer-mid' => esc_html__('Footer Mid', 'stnews-theme'),
                'footer-right' => esc_html__('Footer Right', 'stnews-theme'),
            )
        );
        /*
		 * Switch default core markup for search form, comment form, and comments
		 * to output valid HTML5.
		 */
        add_theme_support(
            'html5',
            array(
                'search-form',
                'comment-form',
                'comment-list',
                'gallery',
                'caption',
                'style',
                'script',
            )
        );
        // Set up the WordPress core custom background feature.
        add_theme_support(
            'custom-background',
            apply_filters(
                'stnews_theme_custom_background_args',
                array(
                    'default-color' => 'ffffff',
                    'default-image' => '',
                )
            )
        );
        // Add theme support for selective refresh for widgets.
        add_theme_support('customize-selective-refresh-widgets');
        /**
         * Add support for core custom logo.
         *
         * @link https://codex.wordpress.org/Theme_Logo
         */
        add_theme_support(
            'custom-logo',
            array(
                'height'      => 250,
                'width'       => 250,
                'flex-width'  => true,
                'flex-height' => true,
            )
        );
    }
endif;
add_action('after_setup_theme', 'stnews_theme_setup');
/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */
function stnews_theme_content_width()
{
    // This variable is intended to be overruled from themes.
    // Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}.
    // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
    $GLOBALS['content_width'] = apply_filters('stnews_theme_content_width', 640);
}
add_action('after_setup_theme', 'stnews_theme_content_width', 0);
/**
 * Register widget area.
 *
 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */
function stnews_theme_widgets_init()
{
    register_sidebar(
        array(
            'name'          => esc_html__('Sidebar', 'stnews-theme'),
            'id'            => 'sidebar-1',
            'description'   => esc_html__('Add widgets here.', 'stnews-theme'),
            'before_widget' => '<section id="%1$s" class="widget %2$s">',
            'after_widget'  => '</section>',
            'before_title'  => '<h2 class="widget-title">',
            'after_title'   => '</h2>',
        )
    );
}
add_action('widgets_init', 'stnews_theme_widgets_init');
/**
 * Enqueue scripts and styles.
 */
function stnews_theme_scripts()
{
    wp_enqueue_style('stnews-theme-style', get_stylesheet_uri(), array(), _S_VERSION);
    wp_style_add_data('stnews-theme-style', 'rtl', 'replace');
    wp_enqueue_script('stnews-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), _S_VERSION, true);
    if (is_singular() && comments_open() && get_option('thread_comments')) {
        wp_enqueue_script('comment-reply');
    }
}
add_action('wp_enqueue_scripts', 'stnews_theme_scripts');
/**
 * Implement the Custom Header feature.
 */
require get_template_directory() . '/inc/custom-header.php';
/**
 * Custom template tags for this theme.
 */
require get_template_directory() . '/inc/template-tags.php';
/**
 * Functions which enhance the theme by hooking into WordPress.
 */
require get_template_directory() . '/inc/template-functions.php';
/**
 * Customizer additions.
 */
require get_template_directory() . '/inc/customizer.php';
// nav walker
require_once(get_template_directory()  . '/lib/navwalker.php');
require_once(get_template_directory()  . '/lib/mobile-navwalker.php');
/**
 * Load Jetpack compatibility file.
 */
if (defined('JETPACK__VERSION')) {
    require get_template_directory() . '/inc/jetpack.php';
}
// content limit
function hk_trim_content($limit)
{
    $content = explode(' ', get_the_content(), $limit);
    if (count($content) >= $limit) {
        array_pop($content);
        $content = implode(" ", $content) . '...';
    } else {
        $content = implode(" ", $content);
    }
    $content = preg_replace('/\[.+\]/', '', $content);
    $content = apply_filters('the_content', $content);
    return $content;
}
add_filter('get_the_archive_title', 'replaceCategoryName');
function replaceCategoryName($title)
{
    $title =  single_cat_title('', false);
    return $title;
}
/**
 * Load Jetpack compatibility file.
 */
require get_template_directory() . '/inc/jetpack.php';
function excerpt($limit)
{
    $excerpt = explode(' ', get_the_excerpt(), $limit);
    if (count($excerpt) >= $limit) {
        array_pop($excerpt);
        $excerpt = implode(" ", $excerpt) . '...';
    } else {
        $excerpt = implode(" ", $excerpt);
    }
    $excerpt = preg_replace('`\[[^\]]*\]`', '', $excerpt);
    return $excerpt;
}
function catagorydatabyid($catid_n, $limit = null, $offset = null)
{
    // $catid_n = get_cat_ID('समाचार');
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    $d = array(); // Initialize $d as an empty array
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", (array)$d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC', 'offset' => $offset);
    $loop = new WP_Query($args);
    return $loop;
    wp_reset_query();
}
function parentwithchild($catid)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    foreach ($subcategories_n as $p) {
        $d[] = $p->slug;
    }
}
function listingnews($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    // Check if $subcategories_n is an array and not empty
    if (is_array($subcategories_n) && !empty($subcategories_n)) {
        $d = array(); // Initialize $d as an array
        foreach ($subcategories_n as $p) {
            $d[] = $p->cat_ID;
        }
        $a = implode("','", $d);
        $categoryid = (!empty($a)) ? $a : $catid_n;
        $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC', 'offset' => $offset);
        $the_query = new WP_Query($args);
        if ($the_query->have_posts()) :
            while ($the_query->have_posts()) : $the_query->the_post();
                echo $output = '
<div class="news-block-five col-lg-4 col-md-4 col-sm-12">
    <div class="inner-box">
        <div class="image-column ">
            <div class="image">
               <a href="' . get_the_permalink() . '">
            ' . get_the_post_thumbnail($loop->ID, "", array('class' => 'img-fluid')) . '
                </a>
            </div>
            <div class="content-inner">
                <h3><a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 80, '...') . '</a></h3>
                <div class="text">' . excerpt(15) . ' </div>
            </div>
        </div>
    </div>
</div>
';
            endwhile;
        endif;
    } else {
        echo 'No subcategories found.';
    }
}
function sportsnews($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
<div class="news-block-four col-lg-6 col-md-6 col-sm-12">
                                <div class="inner-box">
                                    <div class="image-column ">
                                        <div class="image">
                                           <a href="' . get_the_permalink() . '">
                                        ' . get_the_post_thumbnail($loop->ID, "post-img", array('class' => 'img-fluid')) . '
                                            </a>
                                        </div>
                                        <div class="content-inner">
                                            <h3><a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 80, '...') . '
</a></h3>
                                            <div class="text">' . excerpt(15) . ' </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
';
        endwhile;
    endif;
}
function listcatagory($catid_n, $limit, $offset, $colorstyle)
{
    $d = array();
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="nbo-st">
<div class="inner-box">
<div class="row clearfix">
<div class="image-column col-lg-3 col-md-12 col-sm-12">
<div class="image">
<a href="' . get_the_permalink() . '">
' . get_the_post_thumbnail(get_the_ID(), "post-img", array('class' => 'img-fluid')) . '
</a>
</div>
</div>
<div class="content-box-small col-lg-9 col-md-12 col-sm-12">
<div class="content-inner">
<h3 class="h3small">
<a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 100, '...') . '
</a></h3>
</div>
</div>
</div>
</div>
</div>
</div>
';
        endwhile;
    endif;
}
function sportscatagory($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    $d = array(); // Initialize $d as an empty array
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="nbo-st">
<div class="inner-box">
<div class="row clearfix">
<div class="image-column col-lg-6 col-md-6 col-sm-12">
<div class="image">
<a href="' . get_the_permalink() . '">
' . get_the_post_thumbnail(get_the_ID(), "post-img", array('class' => 'img-fluid')) . '
</a>
</div>
</div>
<div class="content-box-small col-lg-6 col-md-6 col-sm-12">
<div class="content-inner">
<h3 class="h3small">
<a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 25, '...') . '
</a></h3>
</div>
</div>
</div>
</div>
</div>
</div>
';
        endwhile;
    endif;
}
function listnews($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    $d = array(); // Initialize $d as an empty array
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
                            <div class="nbo-st">
                                <div class="inner-box">
                                    <div class="row clearfix">
                                        <div class="image-column col-lg-3 col-md-3 col-sm-12">
                                            <div class="image">
                                                <a href="' . get_the_permalink() . '">
                                                ' . get_the_post_thumbnail(get_the_ID(), "thumbnail", array('class' => 'img-fluid')) . '
                                                </a>
                                            </div>
                                        </div>
                                        <div class="content-box-small col-lg-8 col-md-9 col-sm-12">
                                            <div class="content-inner">
                                                <h3 class="h3small">
                                                    <a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 100, '...') . '
                                                </a></h3>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
';
        endwhile;
    endif;
}
function listnewsst($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    $d = array(); // Initialize $d as an empty array
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
                            <div class="nbo-st">
                                <div class="inner-box">
                                    <div class="row clearfix">
                                        <div class="image-column col-lg-3 col-md-3 col-sm-12">
                                            <div class="image">
                                                <a href="' . get_the_permalink() . '">
                                                ' . get_the_post_thumbnail(get_the_ID(), "thumbnail", array('class' => 'img-fluid')) . '
                                                </a>
                                            </div>
                                        </div>
                                        <div class="content-box-small col-lg-9 col-md-9 col-sm-12">
                                            <div class="">
                                                <h3 class="h3small">
                                                <a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 45, '...') . '
                                                </a></h3>
<div class="text">' . excerpt(25) . ' </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
';
        endwhile;
    endif;
}
function listnewslist($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
  <div class="content-box col-lg-3 col-md-4 col-sm-12">
                            <div class="nbo-st">
                                <div class="inner-box">
                                    <div class="row clearfix">
                                        <div class="image-column col-lg-5 col-md-12 col-sm-12">
                                            <div class="image">
                                                <a href="' . get_the_permalink() . '">
                                                ' . get_the_post_thumbnail($loop->ID, "thumbnail", array('class' => 'img-fluid')) . '
                                                </a>
                                            </div>
                                        </div>
                                        <div class="content-box-small col-lg-7 col-md-12 col-sm-12">
                                            <div class="content-inner">
                                                <h3 class="h3small">
                                                <a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 40, '...') . '
                                                </a></h3>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
';
        endwhile;
    endif;
}
function listbusinesslist($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
	<article class="widget-post col-md-6 clearfix">
			<figure class="post-thumb">
			<a href="' . get_the_permalink() . '">
			' . get_the_post_thumbnail($loop->ID, "thumb", array('class' => 'img-fluid')) . '
			</a>
					<div class="overlay"><span class="icon qb-play-arrow"></span></div>
			</figure>
			<div class="text">  <a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 100, '...') . '
				</a></div>
	</article>';
        endwhile;
    endif;
}
function widgetnewslist($catid_n, $limit, $offset, $colorstyle)
{
    $subcategories_n = get_categories('&child_of=' . $catid_n . '&hide_empty');
    foreach ($subcategories_n as $p) {
        $d[] = $p->cat_ID;
    }
    $a = implode("','", $d);
    $categoryid = (!empty($a)) ? $a : $catid_n;
    $args = array('cat' => ($categoryid), 'orderby' => 'date', 'posts_per_page' => $limit, 'order' => 'DESC',    'offset' => $offset);
    $the_query = new WP_Query($args);
    if ($the_query->have_posts()) :
        while ($the_query->have_posts()) : $the_query->the_post();
            echo $output = '
	<article class="widget-post col-md-6 clearfix">
			<figure class="post-thumb">
			<a href="' . get_the_permalink() . '">
			' . get_the_post_thumbnail($loop->ID, "thumb", array('class' => 'img-fluid')) . '
			</a>
					<div class="overlay"><span class="icon qb-play-arrow"></span></div>
			</figure>
			<div class="text">  <a href="' . get_the_permalink() . '">' . mb_strimwidth(get_the_title(), 0, 100, '...') . '
				</a></div>
	</article>';
        endwhile;
    endif;
}
function searchForCategory($array)
{
    foreach ($array as $val) {
        if ($val->category_nicename != "fresh-news" && $val->category_nicename != "slider") {
            return $val->cat_name;
        }
    }
    return null;
}
function getallcatgorybyparentid($catid)
{
    $subcategories_n = get_categories('&child_of=' . $catid  . '&hide_empty');
    //echo "<pre>";  var_dump($subcategories_n); die();
    foreach ($subcategories_n as $p) {
        $thisCat =   get_category($p->category_parent);
        echo $output = '<a href="' . $thisCat->slug . '/' . $p->slug . '">' . $p->name . ' </a>';
    }
}
function catagorydata($catagoryname, $postper)
{
    wp_reset_query();
    $args = array('cat' => $catagoryname, 'posts_per_page' => $postper, 'post_status' => 'publish', 'order' => 'DESC');
    $loop = new WP_Query($args);
    return $loop;
}
function singlecatagorydatabyid($catid, $postper)
{
    wp_reset_query();
    $args = array('cat' => $catid, 'posts_per_page' => $postper, 'post_status' => 'publish', 'order' => 'DESC');
    $loop = new WP_Query($args);
    return $loop;
}
function wpbeginner_numeric_posts_nav()
{
    if (is_singular())
        return;
    global $wp_query;
    /** Stop execution if there's only 1 page */
    if ($wp_query->max_num_pages <= 1)
        return;
    $paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1;
    $max   = intval($wp_query->max_num_pages);
    /**     Add current page to the array */
    if ($paged >= 1)
        $links[] = $paged;
    /**     Add the pages around the current page to the array */
    if ($paged >= 3) {
        $links[] = $paged - 1;
        $links[] = $paged - 2;
    }
    if (($paged + 2) <= $max) {
        $links[] = $paged + 2;
        $links[] = $paged + 1;
    }
    echo '<div class="styled-pagination text-center"><ul class="clearfix">' . "\n";
    /**     Previous Post Link */
    if (get_previous_posts_link())
        printf('<li>%s</li>' . "\n", get_previous_posts_link());
    /**     Link to first page, plus ellipses if necessary */
    if (!in_array(1, $links)) {
        $class = 1 == $paged ? ' class="active"' : '';
        printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1');
        if (!in_array(2, $links))
            echo '<li>…</li>';
    }
    /**     Link to current page, plus 2 pages in either direction if necessary */
    sort($links);
    foreach ((array) $links as $link) {
        $class = $paged == $link ? ' class="active"' : '';
        printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)), $link);
    }
    /**     Link to last page, plus ellipses if necessary */
    if (!in_array($max, $links)) {
        if (!in_array($max - 1, $links))
            echo '<li>…</li>' . "\n";
        $class = $paged == $max ? ' class="active"' : '';
        printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)), $max);
    }
    /**     Next Post Link */
    if (get_next_posts_link())
        printf('<li>%s</li>' . "\n", get_next_posts_link());
    echo '</ul></div>' . "\n";
}
/*@ Get Related Posts for Single Page */
if (!function_exists('sc_get_related_posts_for_single')) {
    function sc_get_related_posts_for_single()
    {
        ob_start();
        $id = get_the_ID();
        /*@ Get current post's categories */
        $categories = get_the_category($id); // Disabled this if you want tag wise posts 
        /*@ Get current post's Tags */
        // $categories = wp_get_post_tags($id); // Enable this for tags wise related posts
        if (!empty($categories)) :
            /*@ Pluck all categories Ids */
            $categories_ids = array_column($categories, 'term_id');
            $related_args = [
                'post_status'         => 'publish',
                'category__in'        => $categories_ids, // Disabled this if you want tag wise posts
                //'tag__in'        => $categories_ids, // Enable this for tag wise related posts
                'post__not_in'        => [$id], // Exclude Current Post
                'posts_per_page'      => 4, // Number of related posts to show
                'ignore_sticky_posts' => 1
            ];
            $get_posts = new WP_Query($related_args);
            if ($get_posts->have_posts()) : ?>
                <div style="clear:both;"> </div>
                <?php
                while ($get_posts->have_posts()) : $get_posts->the_post(); ?>
                    <div class="news-block-two small-block col-lg-3 col-md-3 col-sm-12">
                        <div class="inner-box">
                            <div class="image">
                                <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('post-img', array('class' => 'img-fluid')); ?></a>
                            </div>
                            <div class="releated-box">
                                <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
                            </div>
                        </div>
                    </div><?php
                        endwhile;
                    endif;
                endif;
                return ob_get_clean();
            }
            add_shortcode('prefix_related_posts_for_single', 'sc_get_related_posts_for_single');
        }