=== NewsCastle ===

Contributors: WPInterface
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Requires at least: 5.9
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.1.11
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Introducing NewsCastle, the ultimate WordPress theme meticulously designed to meet all your website needs with flawless precision. NewsCastle offers an extensive range of features, making it the perfect choice for various online ventures. Explore our comprehensive library of templates, thoughtfully crafted for News sites, Magazine platforms, Blogs, Editorials, and any publishing website you envision. Easily replicate your favorite NewsCastle demo with our user-friendly automatic import feature, streamlining your setup process.

== Copyright ==

NewsCastle WordPress Theme, (C) 2024 WPInterface
NewsCastle is distributed under the terms of the GNU GPL.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

== Description ==

NewsCastle is a modern WordPress theme perfect for viral news portals, magazines, newspapers, personal blogs, and publishing websites. It is fully customizable with widgets and a live customizer editor. The theme also includes multiple custom Elementor addon, providing enhanced design options. Additionally, NewsCastle is fully integrated with the WooCommerce plugin, allowing you to create an amazing shop to sell products directly from your website. With the one-click demo importer, you can quickly set up a professional news site in no time.

== Installation ==

1. In your admin panel, go to Appearance > Themes and click the Add New button.
2. Click Upload Theme and Choose File, then select the theme's .zip file. Click Install Now.
3. Click Activate to use your new theme right away.

== Frequently Asked Questions ==

= Does this theme support any plugins? =

NewsCastle includes support for WooCommerce and for Infinite Scroll in Jetpack.

== Changelog ==

= 1.0.0 - September 18, 2024 =
* Initial release

= 1.0.1 - September 23, 2024 =
* Fix   - Footer widget area
* Added - Telegram Icon

= 1.0.2 - September 27, 2024 =
* Fix   - Customizer Dropdown Category Select

= 1.0.3 - October 21, 2024 =
* Fix    - Mobile Menu Options Disable Copyright in Mobile

= 1.0.4 - November 08, 2024 =
* Fix - Corrected numeric pagination display
* Enhancement - NewsBerry: Categories

= 1.0.5 - January 02, 2025 =
* Fix - Widget

= 1.0.6 - February 20, 2025 =
* Fix - Changed default value for date display in widgets.
* Fix: Resolved an issue with the footer URL.

= 1.0.7 - 2025-03-22 =
* Fix    - Resolved issue with the Background Color customizer option not applying correctly.

= 1.0.8 - 2025-04-20 =
* Enhancement -  6.8 compatibility

= 1.0.9 - 2025-05-27 =
* Fix    - number_of_category_to_display

= 1.1.0 - 2025-07-07 =
* Enhancement - Replaced the StumbleUpon icon.

= 1.1.1 - 2025-08-19 =
* Enhancement - Improved CSS

= 1.1.2 - 2025-10-12 =
* Enhancement - Getting Started Notice
* Fix    - Responsive Issue

= 1.1.3 - 2025-12-29 =
* Enhancement - Added compatibility with WordPress 6.9
* Fix - Critical vulnerability in legacy WooCommerce compatibility code by removing unused and insecure AJAX handler (newscastle_woocommerce_add_cart_ajax).
* Fix - Implemented tamper-proof hash verification for the "Load More" pagination AJAX request to prevent query parameter modification.
* Enhancement - Added a loading spinner inside the "Load More" button for better visual feedback.
* Enhancement - Implemented smooth fade-in and slide-up animations for posts loaded via AJAX pagination.

= 1.1.4 - 2026-02-10 =
* Enhancement - Admin Dashboard

= 1.1.5 - 2026-03-25 =
* Fix - Single post meta options "Enable You May Also Like Section" and "Enable More From Author Section" now correctly override the global Customizer setting. Selecting "No" will always hide the section regardless of the Customizer value.

= 1.1.6 - 2026-04-11 =
* Fix - Fixed PHP fatal error triggered by function redeclaration during post loop iteration.
* Enhancement - Refactored Elementor widget base classes to avoid overriding deprecated core WordPress functions.

= 1.1.7 - 2026-05-01 =
* Enhancement - New social media icons and styling support (Substack, Patreon, Slack)
* Fix    - Removed Redundant and obsolete social media icons and their associated CSS (Last.fm, Pocket, Foursquare)

= 1.1.8 - 2026-06-15 =
* Enhancement - Added compatibility with WordPress 7.0

= 1.1.9 - 2026-09-29 =
* Enhancement - Added developer action and filter hooks so child themes and plugins can customize the theme without overriding template files.
* Enhancement - New actions around main content, posts, entry content, entry footer, sidebar, footer and header (e.g. newscastle_before_post, newscastle_after_main_content, newscastle_header_actions).
* Enhancement - Post meta, single post sections (author info, related posts, author posts, sticky navigation) and footer parts now run on action hooks and can be removed or reordered with remove_action().
* Enhancement - New filters for post classes, page layout, theme options, excerpt, read more text, read time, breadcrumb, post navigation, search title, site title tag, copyright text and related/author/recommended post queries.
* Fix - The second newscastle_before_footer call (after the footer) is now newscastle_after_footer, so callbacks on newscastle_before_footer no longer run twice.

= 1.1.10 - 2026-10-15 =
* Security - The welcome notice's "Get started" button can no longer be used by users without plugin permissions to install plugins; the notice is now shown only to administrators.
* Security - Load More requests now only accept viewable post types, and incomplete requests are rejected cleanly instead of raising PHP warnings.
* Security - Category colour and thumbnail settings now verify a nonce and the user's permission before saving.
* Fix - Category colours are no longer erased when a category is changed with Quick Edit or updated by a plugin or import.
* Fix - Minimum PHP version raised from 5.6 to 7.4; the theme code already requires PHP 7 and would not run on older versions.
* Tweak - The review request notice is shown to administrators only.
* Tweak - Review notice data is now removed with a single query when switching themes instead of loading every user.
* Tweak - Updated the translation template (POT) with the new and changed strings.

= 1.1.11 - 2026-10-15 =
* Fix - The Free vs Pro table now shows its category headings.
* Enhancement - Redesigned welcome notice: compact, uses the theme screenshot and the plugins' WordPress.org icons, shows a "plugins ready" state, and appears only on the Dashboard and Themes screens.
* Enhancement - Redesigned theme dashboard (Appearance › NewsCastle) with a setup checklist that follows your site's progress, Customizer shortcuts and a new Recommended tab for WPInterface services, plugins and themes.
* Enhancement - The Recommended tab can list every WPInterface theme from WordPress.org. The list loads only when you click "Show all WPInterface themes", is cached for 12 hours, and screenshots load lazily.
* Enhancement - Starter sites tab redesigned to match the new dashboard, with preview and import buttons for each starter site plus the Pro starter site with its preview and an upgrade link, and a note that importing adds demo content, with the option to have the design set up on an existing site instead (imports still run in One Click Demo Import).
* Enhancement - "What's new" changelog panel opens from the dashboard header, with colour-coded labels for security updates, new features, enhancements, improvements and fixes.
* Enhancement - More visible "Upgrade to Pro" button in the dashboard header and an upgrade section below the Free vs Pro table.
* Enhancement - The Overview tab now shows animated previews of NewsCastle Pro's accessibility toolbar (with a demo you can try) and of the SEO plugin included with Pro. They use HTML and CSS only (no images or external requests), pause when off screen and stay still for users who prefer reduced motion.
* Enhancement - New Header Style previews in the Customizer: SVG drawings that show each header layout as it really looks, in the theme's own colours, two per row, replacing the small grey images.
* Enhancement - The review request notice has the new notice design (like the welcome notice) and shows on the Dashboard and Themes screens only.
* Enhancement - Faster loading: the theme's own stylesheets and scripts now load as minified files, with right-to-left versions for RTL languages. With SCRIPT_DEBUG on, the readable files load instead.
* Fix - Right-to-left stylesheets that had fallen behind their left-to-right versions are rebuilt, so RTL sites get the same styling.
* Tweak - Dashboard and notice styles and scripts now load only on the screens that use them, without jQuery; dashboard images went from about 2841 KB to 41 KB.
* Tweak - Recommended plugins are installed and activated through WordPress core screens; removed the old install/activate AJAX handlers.
* Tweak - Readme credits for the dashboard images and icons.
* Tweak - Removed Elementor from the recommended plugins; the theme supports it but does not need it.
* Enhancement - Faster first paint: the web fonts' CSS and the small preloader and comments stylesheets are printed inline instead of loaded as separate files, and the body font (on single posts and pages also the title font) is preloaded, so the text doesn't reflow when the fonts arrive.
* Enhancement - The featured image of a single post is fetched first (fetchpriority high) and never lazy-loaded, also when other images come before it on the page.
* Fix - The top bar clock is filled in straight away and keeps its space, so the top bar no longer moves a second after the page loads; without a social menu, the top bar no longer gets an empty extra row on narrow screens.
* Tweak - The Ajax pagination script loads only on post lists that use Ajax pagination, and the preloader stylesheet only when the preloader is on.
* Fix - Accessibility: post date and author links are 24px tall.
* Fix - The reading progress bar uses one scroll listener (it added another one on every scroll).
* Fix - Without JavaScript the preloader is no longer shown, since nothing would hide it.
* Tweak - The top bar date is escaped.
* Fix - Saving widgets no longer logs PHP warnings for fields the form does not send, such as unticked boxes and empty lists.
* Fix - The "Enable Sticky Sidebar" option for single posts shows in the Customizer again; it was placed in a panel instead of a section, so WordPress hid it.
* Tweak - Tab Posts widget: removed the "Date Format" field; the widget shows no dates, so it did nothing.
* Fix - "Post In Slider" now offers 3 to 10 posts. The default of 8 was not among the choices, so the Customizer showed 3 while the slider showed 8.
* Tweak - The mobile social menu style default now matches its "Has Brand Background" choice exactly (no visible change).
* Fix - Accessibility: icon-only buttons (search, menu, close, back to top, slider arrows) have a name for screen readers.
* Fix - Accessibility: slider dots are tap targets of at least 24px; the visible dot keeps its size.
* Fix - Accessibility: category labels are 24px tall tap targets, without changing the layout.
* Fix - Accessibility: links in the footer copyright and credit text are underlined, so they don't rely on colour alone.
* Fix - Accessibility: titles cut to a few lines no longer have their hidden lines lying over the date link below.
* Enhancement - Faster loading on the blog and front page: the first banner image (or the first post image when there is no banner) is fetched first (fetchpriority high, never lazy-loaded) and preloaded from the page head on later visits; images above it no longer compete for the browser's high-priority slot.
* Enhancement - The search pop-up's post thumbnails load at low priority, so they no longer take the browser's high-priority slot from the images you can see.
* Enhancement - The reading progress bar takes its first measurement in the next frame, so it no longer forces an extra layout while the page loads.
* Fix - Accessibility: the post list's "Read More" link includes the post title for screen readers, so each link says where it goes.
* Fix - Accessibility: the header news ticker and popular posts start with a heading for screen readers, so the front page's headings no longer skip a level.
* Fix - Accessibility: the tabs of the tabbed posts widget are announced as tabs: the list items around them no longer break the tab list.
* Fix - Accessibility (colour contrast, WCAG AA 4.5:1): the primary colour is a darker green (#05873d, was #2eb85d), for category text, widget titles and white text on buttons.

== Credits ==

* Based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
* Breadcrumb Trail https://themehybrid.com/plugins/breadcrumb-trail, (C) 2008 - 2017, Justin Tadlock, [GPLv2 or later](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
* Theme Dashboard Page Code from ColorMag Theme By ThemeGrill, We have taken a partial codebase as a base and built ours on its foundation, making significant changes. Not used as is. [GPLv3 or later](http://www.gnu.org/licenses/gpl-3.0.txt)
* Webfont Loader (https://github.com/WPTT/webfont-loader), (C) 2020 WPTT, MIT License
* Swiper.js (https://github.com/nolimits4web/swiper), (Copyright (c) 2019 Vladimir Kharlampidi, [MIT](https://opensource.org/licenses/MIT)
* Header style previews (assets/images/header-*.svg): drawn for this theme, [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
* Dashboard icons (inline SVG in inc/admin/dashboard/class-admin.php) based on Lucide https://lucide.dev, (C) Lucide Contributors, [ISC](https://lucide.dev/license)


== Image Used ==
Theme dashboard images

* inc/admin/dashboard/images/theme-thumb.webp: a resized copy of this theme's screenshot (images credited above).
* inc/admin/dashboard/images/pro-starter.webp: a resized screenshot of the NewsCastle Pro starter site (https://demo.wpinterface.com/newscastle-pro/).
* inc/admin/dashboard/images/plugin-*.webp: the icons of the recommended plugins, taken from each plugin's page on WordPress.org (https://wordpress.org/plugins/), (C) their respective authors. They are shown only to identify those plugins.

Image for theme screenshot

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/1339354

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/1217716

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/1615091

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/28076

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/1022756

Copyright pxhere
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://pxhere.com/en/license
Source: https://pxhere.com/en/photo/1400610