From 244e604d46528361315a47d807d0624e49c13d51 Mon Sep 17 00:00:00 2001 From: cristian-ungureanu Date: Fri, 24 Jun 2022 16:35:40 +0300 Subject: [PATCH 1/8] chore: remove sanitization over date meta component #3503 --- inc/views/partials/post_meta.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/views/partials/post_meta.php b/inc/views/partials/post_meta.php index 12539cd12a..7ae2fee1c6 100644 --- a/inc/views/partials/post_meta.php +++ b/inc/views/partials/post_meta.php @@ -166,7 +166,7 @@ function ( $el ) { } $meta_content = str_replace( '{meta}', self::get_time_tags( $pid ), $format ); $markup .= '<' . $tag . ' class="' . esc_attr( implode( ' ', $date_meta_classes ) ) . ' ' . esc_attr( $element_class ) . '">'; - $markup .= wp_kses_post( $meta_content ); + $markup .= $meta_content; $markup .= ''; break; case 'category': From e7561456f1f906f93f844e818cdeffab46e41c89 Mon Sep 17 00:00:00 2001 From: Marius Cristea Date: Mon, 27 Jun 2022 09:27:18 +0300 Subject: [PATCH 2/8] Update Footer.php --- header-footer-grid/Core/Builder/Footer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/header-footer-grid/Core/Builder/Footer.php b/header-footer-grid/Core/Builder/Footer.php index acd76f4fde..ed51906df4 100644 --- a/header-footer-grid/Core/Builder/Footer.php +++ b/header-footer-grid/Core/Builder/Footer.php @@ -67,7 +67,7 @@ public function init() { 'footer_copyright_content' => array( 'label' => esc_html__( 'Change Copyright', 'neve' ), 'icon' => 'dashicons-nametag', - 'url' => $this->has_valid_addons() ? null : 'https://themeisle.com/themes/neve/pricing/', + 'url' => $this->has_valid_addons() ? null : 'https://themeisle.com/themes/neve/upgrade/', ), 'hfg_footer_layout_bottom_background' => array( 'label' => esc_html__( 'Change Footer Color', 'neve' ), From e23f2984ff6e13de399796ae9f389908b7b3ff6e Mon Sep 17 00:00:00 2001 From: andreibaicus Date: Mon, 27 Jun 2022 09:33:48 +0300 Subject: [PATCH 3/8] fix: copyright disappearing with starter content [closing #3509] --- .../Core/Builder/Abstract_Builder.php | 13 ++++++++++++- inc/compatibility/starter-content/theme-mods.php | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/header-footer-grid/Core/Builder/Abstract_Builder.php b/header-footer-grid/Core/Builder/Abstract_Builder.php index f89642ab93..07e068f5c9 100644 --- a/header-footer-grid/Core/Builder/Abstract_Builder.php +++ b/header-footer-grid/Core/Builder/Abstract_Builder.php @@ -21,6 +21,7 @@ use HFG\Traits\Core; use Neve\Core\Settings\Config; use Neve\Core\Styles\Dynamic_Selector; +use Neve\Core\Theme_Info; use Neve\Customizer\Controls\React\Instructions_Section; use WP_Customize_Manager; @@ -31,6 +32,7 @@ */ abstract class Abstract_Builder implements Builder { use Core; + use Theme_Info; const LAYOUT_SETTING = 'layout'; const COLUMNS_NUMBER = 'columns_number'; @@ -1281,12 +1283,21 @@ public function render_device( $device_name, $device_details ) { $row = $device_details[ $row_index ]; if ( neve_is_new_builder() ) { $used = []; + foreach ( $row as $components ) { $used = array_merge( $used, $components ); } if ( empty( $used ) ) { - continue; + if( $this->get_id() !== 'footer' ) { + continue; + } + if( $row_index !== 'bottom' ) { + continue; + } + if( $this->has_valid_addons() ) { + continue; + } } } elseif ( empty( $row ) ) { continue; diff --git a/inc/compatibility/starter-content/theme-mods.php b/inc/compatibility/starter-content/theme-mods.php index f8c32e808b..20f9d8c953 100644 --- a/inc/compatibility/starter-content/theme-mods.php +++ b/inc/compatibility/starter-content/theme-mods.php @@ -707,7 +707,7 @@ 'tablet' => 'center', 'desktop' => 'center', ), - 'hfg_footer_layout_v2' => '{"desktop":{"top":{"left":[],"c-left":[],"center":[],"c-right":[],"right":[]},"bottom":{"left":[],"c-left":[{"id":"footer_copyright"}],"center":[],"c-right":[],"right":[]}}}', + 'hfg_footer_layout_v2' => '{"desktop":{"top":{"left":[],"c-left":[],"center":[],"c-right":[],"right":[]},"bottom":{"left":[{"id":"footer_copyright"}],"c-left":[],"center":[],"c-right":[],"right":[]}}}', 'primary-menu_component_padding' => array( 'mobile' => From 94e5e92a19677271364914a33dafdabea4f527bc Mon Sep 17 00:00:00 2001 From: andreibaicus Date: Mon, 27 Jun 2022 09:36:53 +0300 Subject: [PATCH 4/8] chore: drop the copyright component from HFG footer default, and starter content [ref: #3509] --- header-footer-grid/functions-migration.php | 4 ---- inc/compatibility/starter-content/theme-mods.php | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/header-footer-grid/functions-migration.php b/header-footer-grid/functions-migration.php index 9b0be65543..5a191fd140 100644 --- a/header-footer-grid/functions-migration.php +++ b/header-footer-grid/functions-migration.php @@ -129,10 +129,6 @@ function neve_hfg_footer_settings() { ], ]; - $builder['desktop']['bottom']['left'][] = [ - 'id' => 'footer_copyright', - ]; - return [ 'builder' => $builder, 'components' => [], diff --git a/inc/compatibility/starter-content/theme-mods.php b/inc/compatibility/starter-content/theme-mods.php index 20f9d8c953..546da4e682 100644 --- a/inc/compatibility/starter-content/theme-mods.php +++ b/inc/compatibility/starter-content/theme-mods.php @@ -707,7 +707,7 @@ 'tablet' => 'center', 'desktop' => 'center', ), - 'hfg_footer_layout_v2' => '{"desktop":{"top":{"left":[],"c-left":[],"center":[],"c-right":[],"right":[]},"bottom":{"left":[{"id":"footer_copyright"}],"c-left":[],"center":[],"c-right":[],"right":[]}}}', + 'hfg_footer_layout_v2' => '{"desktop":{"top":{"left":[],"c-left":[],"center":[],"c-right":[],"right":[]},"bottom":{"left":[],"c-left":[],"center":[],"c-right":[],"right":[]}}}', 'primary-menu_component_padding' => array( 'mobile' => From d412513394501a10be120fa3e5cfd7ac93796f4f Mon Sep 17 00:00:00 2001 From: andreibaicus Date: Mon, 27 Jun 2022 09:41:36 +0300 Subject: [PATCH 5/8] chore: code style fixes --- header-footer-grid/Core/Builder/Abstract_Builder.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/header-footer-grid/Core/Builder/Abstract_Builder.php b/header-footer-grid/Core/Builder/Abstract_Builder.php index 07e068f5c9..4a504d63fd 100644 --- a/header-footer-grid/Core/Builder/Abstract_Builder.php +++ b/header-footer-grid/Core/Builder/Abstract_Builder.php @@ -1289,13 +1289,13 @@ public function render_device( $device_name, $device_details ) { } if ( empty( $used ) ) { - if( $this->get_id() !== 'footer' ) { + if ( $this->get_id() !== 'footer' ) { continue; } - if( $row_index !== 'bottom' ) { + if ( $row_index !== 'bottom' ) { continue; } - if( $this->has_valid_addons() ) { + if ( $this->has_valid_addons() ) { continue; } } From 4013fc7028a80da8f01f292329054042d704c388 Mon Sep 17 00:00:00 2001 From: cristian-ungureanu Date: Mon, 27 Jun 2022 10:36:31 +0300 Subject: [PATCH 6/8] fix: magic tag can't be displayed inline with other text [#3504] --- header-footer-grid/Core/Magic_Tags.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/header-footer-grid/Core/Magic_Tags.php b/header-footer-grid/Core/Magic_Tags.php index 1c599921b4..e9676cbe43 100644 --- a/header-footer-grid/Core/Magic_Tags.php +++ b/header-footer-grid/Core/Magic_Tags.php @@ -161,7 +161,7 @@ private function do_magic_tag( $matches ) { $allowed_tags['span'] = [ 'class' => [], ]; - + } return wp_kses( call_user_func( [ $this, $tag ] ), $allowed_tags ); @@ -308,10 +308,10 @@ public function current_query_title() { if ( is_shop() ) { return get_the_title( get_option( 'woocommerce_shop_page_id' ) ); - } + } } - return wp_title( '' ); + return wp_title( '', false ); } /** From 047ac09991b7fc460a34427b2bbb2ecb7ed31fc7 Mon Sep 17 00:00:00 2001 From: andreibaicus Date: Mon, 27 Jun 2022 13:25:12 +0300 Subject: [PATCH 7/8] chore: add dashboard notice chore: add UTM tags to URL in customizer --- .../dashboard/src/Components/Notification.js | 14 ++++++--- .../src/scss/components/_notification.scss | 7 +++-- header-footer-grid/Core/Builder/Footer.php | 2 +- inc/admin/dashboard/main.php | 31 +++++++++++++++++-- 4 files changed, 45 insertions(+), 9 deletions(-) diff --git a/assets/apps/dashboard/src/Components/Notification.js b/assets/apps/dashboard/src/Components/Notification.js index a008eae5e1..5f3265c778 100644 --- a/assets/apps/dashboard/src/Components/Notification.js +++ b/assets/apps/dashboard/src/Components/Notification.js @@ -3,12 +3,13 @@ import classnames from 'classnames'; import { __ } from '@wordpress/i18n'; import { useState } from '@wordpress/element'; -import { Button, Dashicon } from '@wordpress/components'; +import { external } from '@wordpress/icons'; +import { Button, Dashicon, Icon } from '@wordpress/components'; const Notification = ({ data, slug }) => { // eslint-disable-next-line no-unused-vars const [hidden, setHidden] = useState(false); - const { text, cta, type, update, url } = data; + const { text, cta, type, update, url, targetBlank } = data; const [inProgress, setInProgress] = useState(false); const [done, setDone] = useState(false); const [errorMessage, setErrorMessage] = useState(null); @@ -153,10 +154,15 @@ const Notification = ({ data, slug }) => { const LinkNotification = () => { return (
-

{text}

+

{url && cta && ( - )}

diff --git a/assets/apps/dashboard/src/scss/components/_notification.scss b/assets/apps/dashboard/src/scss/components/_notification.scss index 22bf363e6e..af59dbd109 100644 --- a/assets/apps/dashboard/src/scss/components/_notification.scss +++ b/assets/apps/dashboard/src/scss/components/_notification.scss @@ -11,6 +11,10 @@ transition-delay: 1.5s; max-height: 1000px; + code { + display: inline; + } + &.hidden { max-height: 0; overflow: hidden; @@ -111,8 +115,7 @@ } p { - display: flex; - align-items: center; + //display: block; font-size: 15px; font-weight: 600; margin: 0 10px 0; diff --git a/header-footer-grid/Core/Builder/Footer.php b/header-footer-grid/Core/Builder/Footer.php index ed51906df4..4b7ab9591d 100644 --- a/header-footer-grid/Core/Builder/Footer.php +++ b/header-footer-grid/Core/Builder/Footer.php @@ -67,7 +67,7 @@ public function init() { 'footer_copyright_content' => array( 'label' => esc_html__( 'Change Copyright', 'neve' ), 'icon' => 'dashicons-nametag', - 'url' => $this->has_valid_addons() ? null : 'https://themeisle.com/themes/neve/upgrade/', + 'url' => $this->has_valid_addons() ? null : 'https://themeisle.com/themes/neve/upgrade/?utm_medium=customizer&utm_source=changecopyright&utm_campaign=neve', ), 'hfg_footer_layout_bottom_background' => array( 'label' => esc_html__( 'Change Footer Color', 'neve' ), diff --git a/inc/admin/dashboard/main.php b/inc/admin/dashboard/main.php index f74f719d3b..7690df936d 100755 --- a/inc/admin/dashboard/main.php +++ b/inc/admin/dashboard/main.php @@ -305,6 +305,19 @@ public function get_notifications() { } } + if ( $this->show_branding_notice() ) { + $notifications['branding-discount'] = [ + 'text' => sprintf( + // translators: s - Discount Code + __( 'From 3.3.0 we decided to remove the copyright component from the free version. You can continue using it if you rollback to 3.2.x or you can upgrade to pro, using a one time 50%% discount: %s', 'neve' ), + wp_kses_post( 'NEVEBRANDING50' ) + ), + 'url' => 'https://themeisle.com/themes/neve/upgrade/?utm_medium=aboutneve&utm_source=copyrightnotice&utm_campaign=neve', + 'targetBlank' => true, + 'cta' => __( 'Upgrade', 'neve' ), + ]; + } + if ( count( $notifications ) === 1 && is_plugin_active( $plugin_path ) ) { foreach ( $notifications as $key => $notification ) { /* translators: 1 - Theme Name (Neve), 2 - Plugin Name (Neve Pro) */ @@ -317,6 +330,20 @@ public function get_notifications() { return $notifications; } + + /** + * Should branding notice be shown. + * + * @return bool + */ + private function show_branding_notice() { + if ( $this->has_valid_addons() ) { + return false; + } + + return time() < strtotime( '2022-07-06' ); + } + /** * Get the Customizer Shortcut Links. * @@ -535,7 +562,7 @@ private function should_show_feedback_notice() { /** * Get data of external plugins that are not hosted on wp.org. - * + * * @return array */ private function get_external_plugins_data() { @@ -550,7 +577,7 @@ private function get_external_plugins_data() { 'url' => 'https://wplandingkit.com/?utm_medium=nevedashboard&utm_source=recommendedplugins&utm_campaign=neve', 'premium' => true, ), - + ); return $plugins; From f15b4f1e5163105163879a7a493f30b8eeed1137 Mon Sep 17 00:00:00 2001 From: "themeisle[bot]" Date: Mon, 27 Jun 2022 12:22:48 +0000 Subject: [PATCH 8/8] chore(release): 3.3.1 ##### [Version 3.3.1](https://github.com/Codeinwp/neve/compare/v3.3.0...v3.3.1) (2022-06-27) - [Fix] Both posted date and updated date are displayed - [Fix] {current_query_title} magic tag can't be displayed inline with other text - From 3.3.0 we decided to remove the copyright component from the free version. You can continue using it if you roll back to 3.2.x or you can upgrade to pro, using a one-time 50% discount by using NEVEBRANDING50 discount code. The promotion is available until the 5th of July 2022. --- CHANGELOG.md | 6 ++++++ functions.php | 2 +- package.json | 2 +- readme.md | 9 +++++++++ readme.txt | 9 +++++++++ style.css | 2 +- 6 files changed, 27 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 535243016b..7ebcc72717 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +##### [Version 3.3.1](https://github.com/Codeinwp/neve/compare/v3.3.0...v3.3.1) (2022-06-27) + +- [Fix] Both posted date and updated date are displayed +- [Fix] {current_query_title} magic tag can't be displayed inline with other text +- From 3.3.0 we decided to remove the copyright component from the free version. You can continue using it if you roll back to 3.2.x or you can upgrade to pro, using a one-time 50% discount by using NEVEBRANDING50 discount code. The promotion is available until the 5th of July 2022. + #### [Version 3.3.0](https://github.com/Codeinwp/neve/compare/v3.2.5...v3.3.0) (2022-06-23) - [Feat] Add an option to hide post meta on mobile diff --git a/functions.php b/functions.php index d9b334cfc0..72d84ed9de 100644 --- a/functions.php +++ b/functions.php @@ -8,7 +8,7 @@ * @package Neve */ -define( 'NEVE_VERSION', '3.3.0' ); +define( 'NEVE_VERSION', '3.3.1' ); define( 'NEVE_INC_DIR', trailingslashit( get_template_directory() ) . 'inc/' ); define( 'NEVE_ASSETS_URL', trailingslashit( get_template_directory_uri() ) . 'assets/' ); define( 'NEVE_MAIN_DIR', get_template_directory() . '/' ); diff --git a/package.json b/package.json index 351b0e0bfd..7da6173fb3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "neve", "nicename": "Neve", - "version": "3.3.0", + "version": "3.3.1", "description": "Neve theme by ThemeIsle", "category": "themes", "author": "ThemeIsle ", diff --git a/readme.md b/readme.md index e2fd2c150f..3acea0fad9 100644 --- a/readme.md +++ b/readme.md @@ -19,6 +19,15 @@ Neve is distributed under the terms of the GNU GPLv2 or later ## Changelog ## +##### [Version 3.3.1](https://github.com/Codeinwp/neve/compare/v3.3.0...v3.3.1) (2022-06-27) + +- [Fix] Both posted date and updated date are displayed +- [Fix] {current_query_title} magic tag can't be displayed inline with other text +- From 3.3.0 we decided to remove the copyright component from the free version. You can continue using it if you roll back to 3.2.x or you can upgrade to pro, using a one-time 50% discount by using NEVEBRANDING50 discount code. The promotion is available until the 5th of July 2022. + + + + #### [Version 3.3.0](https://github.com/Codeinwp/neve/compare/v3.2.5...v3.3.0) (2022-06-23) - [Feat] Add an option to hide post meta on mobile diff --git a/readme.txt b/readme.txt index aa7fc74bb8..e7aab49d26 100644 --- a/readme.txt +++ b/readme.txt @@ -19,6 +19,15 @@ Neve is distributed under the terms of the GNU GPLv2 or later == Changelog == +##### [Version 3.3.1](https://github.com/Codeinwp/neve/compare/v3.3.0...v3.3.1) (2022-06-27) + +- [Fix] Both posted date and updated date are displayed +- [Fix] {current_query_title} magic tag can't be displayed inline with other text +- From 3.3.0 we decided to remove the copyright component from the free version. You can continue using it if you roll back to 3.2.x or you can upgrade to pro, using a one-time 50% discount by using NEVEBRANDING50 discount code. The promotion is available until the 5th of July 2022. + + + + #### [Version 3.3.0](https://github.com/Codeinwp/neve/compare/v3.2.5...v3.3.0) (2022-06-23) - [Feat] Add an option to hide post meta on mobile diff --git a/style.css b/style.css index 51aece2bd7..09d42c1c1e 100644 --- a/style.css +++ b/style.css @@ -7,7 +7,7 @@ Tested up to: 5.9 Requires PHP: 7.0 Requires at least: 5.4 Description: Neve is a super fast, easily customizable, multi-purpose theme. It’s perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL & translation ready. Look no further. Neve is the perfect theme for you! -Version: 3.3.0 +Version: 3.3.1 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: neve