File: /var/www/nclive/wp-content/plugins/nc_plugin/nc_latest_updates.php
<?php
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url_slug = basename($actual_link);
if ($url_slug != '') { ?>
<link rel="stylesheet" href="/wp-content/themes/nctheme/new-style.css">
<!-- EXAM DETAILS HEADER PAGE SECTION -->
<section class="allPageheaderSection wow fadeInDown">
<div class="allPageheaderSectionbg"></div>
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h2>Latest Updates</h2>
<p><a href="/">Home</a> / Latest Updates</p>
</div>
</div>
</div>
</section>
<section class="latest_updates_sec">
<div class="container">
<!-- Display-Horizontal-Full -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-2967295438144070"
data-ad-slot="7766773989"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<div class="row">
<?php
$categories = get_categories();
$active_tab = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : '';
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// Define your custom subcategory ID order
$subcatgory_order_ids = array(2, 4, 5); // Change this to your desired subcategory IDs in order
if (!empty($categories)) {
foreach ($categories as $category) {
// Get subcategories by the custom list
$subcategories = get_categories(array(
'parent' => $category->term_id,
'include' => $subcatgory_order_ids,
'hide_empty' => false,
));
// Manually order subcategories
$ordered_subcategories = array();
foreach ($subcatgory_order_ids as $id) {
foreach ($subcategories as $subcat) {
if ($subcat->term_id == $id) {
$ordered_subcategories[] = $subcat;
break;
}
}
}
if (!empty($ordered_subcategories)) {
?>
<!-- Tab Buttons -->
<ul class="latestupdate_box nav nav-tabs">
<?php foreach ($ordered_subcategories as $i => $subcategory) {
$tab_id = $subcategory->slug;
$is_active = ($active_tab === $tab_id || (!$active_tab && $i === 0)) ? 'active' : '';
?>
<li class="<?php echo $is_active; ?>">
<a class="items" data-toggle="tab" href="#<?php echo $tab_id; ?>">
<?php echo esc_html($subcategory->name); ?>
</a>
</li>
<?php } ?>
</ul>
<!-- Tab Content -->
<div class="tab-content">
<?php foreach ($ordered_subcategories as $i => $subcategory) {
$tab_id = $subcategory->slug;
$is_active = ($active_tab === $tab_id || (!$active_tab && $i === 0)) ? 'in active' : '';
?>
<div id="<?php echo $tab_id; ?>" class="tab-pane fade <?php echo $is_active; ?>">
<div class="news_updatedBox">
<?php
$query = new WP_Query(array(
'cat' => $subcategory->term_id,
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 25,
'paged' => $paged,
));
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post(); ?>
<div class="news_updatedBox_item row">
<div class="col-md-10 col-sm-12 col-12">
<a class="content_text" href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
<div class="date_viewDiv">
<time><i class="fas fa-calendar-days"></i> <?php echo get_the_date(); ?></time>
<a class="view_btnmob" href="<?php the_permalink(); ?>">
View
</a>
</div>
</div>
<div class="col-md-2 col-sm-12 col-12 view_div">
<a class="view_btn" href="<?php the_permalink(); ?>">
View <i class="fas fa-eye"></i>
</a>
</div>
</div>
<?php }
echo '<div class="pagination">';
echo paginate_links(array(
'base' => add_query_arg(array('tab' => $tab_id, 'paged' => '%#%')),
'format' => '',
'current' => max(1, $paged),
'total' => $query->max_num_pages,
'prev_text' => __('« Prev'),
'next_text' => __('Next »'),
));
echo '</div>';
wp_reset_postdata();
} else {
echo '<p>No posts found in this category.</p>';
}
?>
</div>
</div>
<?php } ?>
</div>
<?php
}
}
} else {
echo '<p>No categories found.</p>';
}
?>
</div>
</div>
</section>
<script>
document.addEventListener("DOMContentLoaded", function() {
const tabLinks = document.querySelectorAll(".latestupdate_box a");
// open category tab -open url with tab id
tabLinks.forEach(link => {
link.addEventListener("click", function(e) {
e.preventDefault();
const tabId = this.getAttribute("href").replace("#", "");
const newUrl = `${window.location.origin}/latest-update/?tab=${tabId}`;
window.location.href = newUrl;
});
});
// Activate tab on category tab
const params = new URLSearchParams(window.location.search);
const activeTab = params.get("tab");
if (activeTab) {
const link = document.querySelector(`.latestupdate_box a[href="#${activeTab}"]`);
const pane = document.getElementById(activeTab);
if (link && pane) {
// Remove existing 'active' classes
document.querySelectorAll('.latestupdate_box li').forEach(li => li.classList.remove('active'));
document.querySelectorAll('.tab-pane').forEach(pane => pane.classList.remove('in', 'active'));
// Add active classes
link.parentElement.classList.add('active');
pane.classList.add('in', 'active');
}
}
});
</script>
<?php } ?>