Changeset 357891
- Timestamp:
- 11/07/2026 02:58:34 PM (less than one hour ago)
- Location:
- nexversal/3.6.0
- Files:
-
- 2 deleted
- 15 edited
- 1 copied
-
. (copied) (copied from nexversal/3.5.9 )
-
404.php (modified) (1 diff)
-
archive.php (modified) (1 diff)
-
author.php (modified) (1 diff)
-
functions.php (modified) (2 diffs)
-
home.php (modified) (1 diff)
-
inc/ad-cls-optimizer.php (deleted)
-
inc/ad-manager.php (deleted)
-
index.php (modified) (1 diff)
-
page.php (modified) (1 diff)
-
readme.txt (modified) (3 diffs)
-
search.php (modified) (1 diff)
-
single.php (modified) (1 diff)
-
style.css (modified) (4 diffs)
-
template-about.php (modified) (1 diff)
-
template-contact.php (modified) (1 diff)
-
template-full-width.php (modified) (1 diff)
-
template-home.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
nexversal/3.6.0/404.php
r357886 r357891 71 71 ?> 72 72 73 <main id="primary" class="site-main container" >73 <main id="primary" class="site-main container" tabindex="-1"> 74 74 <div class="nx-404-wrapper"> 75 75 <div class="nx-404-code">404</div> -
nexversal/3.6.0/archive.php
r357886 r357891 31 31 </div> 32 32 33 <main id="primary" class="site-main container" >33 <main id="primary" class="site-main container" tabindex="-1"> 34 34 <div class="nx-layout-grid"> 35 35 <div class="nx-content-area"> -
nexversal/3.6.0/author.php
r357886 r357891 18 18 ?> 19 19 20 <main id="primary" class="site-main" >20 <main id="primary" class="site-main" tabindex="-1"> 21 21 <!-- Author Profile Hero --> 22 22 <section class="nx-archive-hero"> -
nexversal/3.6.0/functions.php
r357886 r357891 161 161 add_action('wp_head', 'nexversal_early_theme_init', 1); 162 162 163 /**164 * Built-in Monetization & Ad Engine165 */166 require_once get_template_directory() . '/inc/ad-manager.php';167 163 168 164 /** … … 999 995 } 1000 996 1001 /** 1002 * Output dynamic Schema.org JSON-LD structured data for articles and breadcrumbs. 1003 * Supports Google Search Console Rich Results & CTR enhancement. 1004 */ 1005 function nexversal_schema_markup() { 1006 if (is_single()) { 1007 global $post; 1008 $schema = array( 1009 '@context' => 'https://schema.org', 1010 '@type' => 'BlogPosting', 1011 'mainEntityOfPage' => array( 1012 '@type' => 'WebPage', 1013 '@id' => get_permalink(), 1014 ), 1015 'headline' => get_the_title(), 1016 'datePublished' => get_the_date('c'), 1017 'dateModified' => get_the_modified_date('c'), 1018 'author' => array( 1019 '@type' => 'Person', 1020 'name' => get_the_author(), 1021 'url' => get_author_posts_url(get_the_author_meta('ID')), 1022 ), 1023 'publisher' => array( 1024 '@type' => 'Organization', 1025 'name' => get_bloginfo('name'), 1026 'url' => home_url('/'), 1027 ), 1028 'description' => wp_strip_all_tags(get_the_excerpt()), 1029 ); 1030 1031 if (has_post_thumbnail()) { 1032 $image_url = get_the_post_thumbnail_url($post->ID, 'full'); 1033 if ($image_url) { 1034 $schema['image'] = array( 1035 '@type' => 'ImageObject', 1036 'url' => esc_url($image_url), 1037 ); 1038 } 1039 } 1040 1041 echo "\n<!-- Nexversal Schema.org JSON-LD -->\n"; 1042 echo '<script type="application/ld+json">' . wp_json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "</script>\n"; 1043 1044 // BreadcrumbList Schema 1045 $categories = get_the_category(); 1046 $breadcrumb = array( 1047 '@context' => 'https://schema.org', 1048 '@type' => 'BreadcrumbList', 1049 'itemListElement' => array( 1050 array( 1051 '@type' => 'ListItem', 1052 'position' => 1, 1053 'name' => esc_html__('Home', 'nexversal'), 1054 'item' => home_url('/'), 1055 ), 1056 ), 1057 ); 1058 1059 $pos = 2; 1060 if (!empty($categories)) { 1061 $breadcrumb['itemListElement'][] = array( 1062 '@type' => 'ListItem', 1063 'position' => $pos, 1064 'name' => $categories[0]->name, 1065 'item' => get_category_link($categories[0]->term_id), 1066 ); 1067 $pos++; 1068 } 1069 1070 $breadcrumb['itemListElement'][] = array( 1071 '@type' => 'ListItem', 1072 'position' => $pos, 1073 'name' => get_the_title(), 1074 'item' => get_permalink(), 1075 ); 1076 1077 echo '<script type="application/ld+json">' . wp_json_encode($breadcrumb, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "</script>\n<!-- /Nexversal Schema.org JSON-LD -->\n"; 1078 } 1079 } 1080 add_action('wp_head', 'nexversal_schema_markup', 15); 1081 1082 /** 1083 * Output native Open Graph & Twitter Cards if no third-party SEO plugin is active. 1084 */ 1085 function nexversal_open_graph_tags() { 1086 // Skip if Yoast, RankMath, All In One SEO, or SEOPress is active 1087 if (defined('WPSEO_VERSION') || defined('RANK_MATH_VERSION') || defined('AIOSEO_VERSION') || defined('SEOPRESS_VERSION')) { 1088 return; 1089 } 1090 1091 $site_name = get_bloginfo('name'); 1092 $title = wp_get_document_title(); 1093 $url = is_singular() ? get_permalink() : home_url(add_query_arg(array(), $GLOBALS['wp']->request)); 1094 $type = is_singular() ? 'article' : 'website'; 1095 $desc = is_singular() ? wp_strip_all_tags(get_the_excerpt()) : get_bloginfo('description'); 1096 $image = ''; 1097 1098 if (is_singular() && has_post_thumbnail()) { 1099 $image = get_the_post_thumbnail_url(get_the_ID(), 'full'); 1100 } 1101 1102 echo "\n<!-- Nexversal Open Graph & Twitter Cards -->\n"; 1103 printf('<meta property="og:site_name" content="%s">' . "\n", esc_attr($site_name)); 1104 printf('<meta property="og:type" content="%s">' . "\n", esc_attr($type)); 1105 printf('<meta property="og:title" content="%s">' . "\n", esc_attr($title)); 1106 printf('<meta property="og:description" content="%s">' . "\n", esc_attr($desc)); 1107 printf('<meta property="og:url" content="%s">' . "\n", esc_url($url)); 1108 1109 if (!empty($image)) { 1110 printf('<meta property="og:image" content="%s">' . "\n", esc_url($image)); 1111 echo '<meta name="twitter:card" content="summary_large_image">' . "\n"; 1112 printf('<meta name="twitter:image" content="%s">' . "\n", esc_url($image)); 1113 } else { 1114 echo '<meta name="twitter:card" content="summary">' . "\n"; 1115 } 1116 1117 printf('<meta name="twitter:title" content="%s">' . "\n", esc_attr($title)); 1118 printf('<meta name="twitter:description" content="%s">' . "\n", esc_attr($desc)); 1119 echo "<!-- /Nexversal Open Graph -->\n"; 1120 } 1121 add_action('wp_head', 'nexversal_open_graph_tags', 10); 997 1122 998 1123 999 /** -
nexversal/3.6.0/home.php
r357886 r357891 52 52 <?php endif; ?> 53 53 54 <main id="primary" class="site-main container" style="padding-top: 30px; padding-bottom: 60px;">54 <main id="primary" class="site-main container" tabindex="-1" style="padding-top: 30px; padding-bottom: 60px;"> 55 55 <?php 56 56 // Trending categories bar for filtering -
nexversal/3.6.0/index.php
r357886 r357891 54 54 <?php endif; ?> 55 55 56 <main id="primary" class="site-main container" >56 <main id="primary" class="site-main container" tabindex="-1"> 57 57 <div class="nx-layout-grid"> 58 58 <div class="nx-content-area"> -
nexversal/3.6.0/page.php
r357886 r357891 17 17 ?> 18 18 19 <main id="primary" class="site-main container" style="margin-top: 36px;">19 <main id="primary" class="site-main container" tabindex="-1" style="margin-top: 36px;"> 20 20 <div class="nx-layout-grid"> 21 21 <div class="nx-content-area"> -
nexversal/3.6.0/readme.txt
r357886 r357891 4 4 Tested up to: 7.0 5 5 Requires PHP: 7.4 6 Stable tag: 3. 5.96 Stable tag: 3.6.0 7 7 License: GNU General Public License v2 or later 8 8 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 22 22 * Auto-generated Table of Contents (TOC) with smooth scrolling 23 23 * Mobile-responsive drawer navigation and fast search 24 * Built-in Schema.org JSON-LD structured data for Google Search24 * Full accessibility (WCAG) compliant keyboard focus and skip navigation 25 25 * Full WordPress block editor (Gutenberg) styles support 26 26 * Fully translation-ready with .pot language catalog … … 50 50 Nexversal is distributed under the terms of the GNU General Public License v2 or later. 51 51 52 This theme bundles the following third-party resources: 53 54 * Inter Font (Family: Inter) 55 Source: https://github.com/rsms/inter 56 License: SIL Open Font License, 1.1 (http://scripts.sil.org/OFL) 52 This theme relies entirely on native, modern system font stacks (-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) for blazing-fast loading speeds without external font dependencies. 57 53 58 54 == Changelog == 55 56 = 3.6.0 = 57 * Accessibility: Added visible focus styles (:focus-visible) to dark mode toggle, search toggle, and mobile menu button. 58 * Accessibility: Added tabindex="-1" to <main id="primary"> across all templates to correctly move focus when the skip link is clicked. 59 * Compliance: Moved SEO output (JSON-LD structured data and Open Graph/Twitter meta tags) out of theme into plugin territory per Theme Review guidelines. 60 * Compliance: Removed internal paid upgrade system, licensing verification, and obtrusive Customizer locks. 61 * Documentation: Corrected resource list in readme.txt by removing unused bundled font entry. 59 62 60 63 = 3.4.0 = -
nexversal/3.6.0/search.php
r357886 r357891 40 40 </div> 41 41 42 <main id="primary" class="site-main container" >42 <main id="primary" class="site-main container" tabindex="-1"> 43 43 <div class="nx-layout-grid"> 44 44 <div class="nx-content-area"> -
nexversal/3.6.0/single.php
r357886 r357891 17 17 ?> 18 18 19 <main id="primary" class="site-main container" style="margin-top: 36px;">19 <main id="primary" class="site-main container" tabindex="-1" style="margin-top: 36px;"> 20 20 <div class="nx-layout-grid"> 21 21 <div class="nx-content-area"> -
nexversal/3.6.0/style.css
r357886 r357891 5 5 Author URI: https://nexversal.com/about 6 6 Description: A modern, ultra-fast, and elegant Tech & Magazine theme for WordPress engineered by Nexes Agency. Features a sleek hero section, responsive article cards, copy code buttons, reading progress bar, customizable accents, dark mode toggle, and rich SEO Schema markup. 7 Version: 3. 5.97 Version: 3.6.0 8 8 Requires at least: 6.0 9 9 Tested up to: 7.0 … … 269 269 cursor: pointer; 270 270 padding: 0; 271 outline: none;272 271 transition: all 0.2s ease; 273 272 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 273 } 274 275 .nx-theme-toggle-btn:focus-visible { 276 outline: 2px solid var(--nx-primary); 277 outline-offset: 2px; 274 278 } 275 279 … … 321 325 cursor: pointer; 322 326 padding: 0; 323 outline: none;324 327 transition: all 0.2s ease; 325 328 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 329 } 330 331 .search-toggle-btn:focus-visible { 332 outline: 2px solid var(--nx-primary); 333 outline-offset: 2px; 326 334 } 327 335 … … 356 364 color: var(--nx-dark); 357 365 padding: 0; 358 outline: none;359 366 transition: all 0.2s ease; 360 367 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 368 } 369 370 .mobile-menu-toggle:focus-visible { 371 outline: 2px solid var(--nx-primary); 372 outline-offset: 2px; 361 373 } 362 374 -
nexversal/3.6.0/template-about.php
r357886 r357891 50 50 <?php endif; ?> 51 51 52 <main id="primary" class="site-main container" style="padding-top: <?php echo $has_custom_about_content ? '30px' : '40px'; ?>; padding-bottom: 60px;">52 <main id="primary" class="site-main container" tabindex="-1" style="padding-top: <?php echo $has_custom_about_content ? '30px' : '40px'; ?>; padding-bottom: 60px;"> 53 53 <?php if ($has_custom_about_content && (!function_exists('nexversal_is_meta_disabled') || !nexversal_is_meta_disabled('disable_breadcrumbs')) && function_exists('nexversal_breadcrumbs')) : ?> 54 54 <div style="margin-bottom: 20px;"> -
nexversal/3.6.0/template-contact.php
r357886 r357891 74 74 ?> 75 75 76 <main id="primary" class="site-main container" style="margin-top: 36px; margin-bottom: 60px;">76 <main id="primary" class="site-main container" tabindex="-1" style="margin-top: 36px; margin-bottom: 60px;"> 77 77 <?php 78 78 if (!function_exists('nexversal_is_meta_disabled') || !nexversal_is_meta_disabled('disable_breadcrumbs')) { -
nexversal/3.6.0/template-full-width.php
r357886 r357891 17 17 ?> 18 18 19 <main id="primary" class="site-main" >19 <main id="primary" class="site-main" tabindex="-1"> 20 20 <div class="container container-narrow" style="max-width: 920px;"> 21 21 <?php -
nexversal/3.6.0/template-home.php
r357886 r357891 89 89 <?php endif; ?> 90 90 91 <main id="primary" class="site-main container" style="padding-top: 30px; padding-bottom: 60px;">91 <main id="primary" class="site-main container" tabindex="-1" style="padding-top: 30px; padding-bottom: 60px;"> 92 92 <div class="nx-layout-grid site-container"> 93 93 <div class="nx-content-area content-area">
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)