• Skip to primary navigation
  • Skip to main content
  • Skip to footer
  • Store
  • Support
  • Theme Documentation
  • My Account
  • Cart

9seeds

Building Custom WordPress Solutions | Plugin Development

 
  • Custom Development
  • Themes
  • Plugins
  • About
  • Contact
  • Blog

Jon Brown

Jessica Theme v1.9.2 and v2.0.0

Posted on March 28, 2025

We’re excited to announce two important updates for the Jessica theme – version 1.9.2 and version 2.0.0. These updates bring compatibility improvements and remove legacy code to keep your site running smoothly with WordPress 6.7, Genesis 3.6 and PHP 8.

We believe that frequent updates are generally a bad thing—they’re a hassle for site owners and often indicate poor software management. However, WordPress, Genesis, and PHP (the core language of WordPress) do receive occasional updates, and sometimes, those require theme adjustments for unforeseen changes.

Recently, WordPress introduced a breaking change affecting when text domains for translations are loaded. In response, Genesis updated this in version 3.6 (changelog). This, along with our long-standing plan to remove legacy code for outdated e-commerce plugins, prompted us to update the Jessica theme.

While these updates do not include critical security fixes, we recommend applying them, as some are necessary for PHP 8.4 compatibility.

What’s New in v1.9.2

  • Full compatibility with the latest versions of WooCommerce, Genesis Framework, and WordPress
  • Updated to support current PHP versions (PHP 7.4+ recommended)
  • Various bug fixes and performance improvements

What’s Changed in v2.0.0

  • Removed legacy code for WP eCommerce (WPEC) and iThemes Exchange. These plugins have been unsupported by their maintainers for a long time. Only WooCommerce is supported going forward.
  • Streamlined theme codebase for better performance with PHP 8.
  • I can’t imagine anyone is still using WPEC or iThemes Exchange, but if you are, you’ll want to stick with v1.9.2 and should not expect any further support of those.

Before You Update

IMPORTANT: Always back up your site before installing any updates. This is especially true with these updates as you will need to delete/remove a few existing files.

This includes:

  • Complete site backup (files and database)
  • Export any custom theme settings
  • Note any customizations you’ve made to theme files (especially style.css and functions.php)

If you have code customizations in your current Jessica theme, you will lose those modifications unless you merge them into the new version. Merging those code-based child theme customizations is best done by whomever wrote those customizations in the first place and is not supported by 9seeds. They can do this by comparing a diff of the themes. If your customizations were all done via the WordPress dashboard/customizer without PHP or CSS code being written to files this does not apply to you.

Regardless, we again strongly recommend having a current backup.

Update Instructions

You can download the latest version of Jessica from https://9seeds.com/my-account/downloads/.

Option A: Update via WordPress Admin

  1. Download the latest version of Jessica theme from the link above
  2. Log in to your WordPress admin dashboard
  3. Navigate to Appearance → Themes
  4. Click “Add New” then “Upload Theme”
  5. Select the ZIP file you downloaded and click “Install Now”
  6. Click “Replace current with uploaded” to activate the updated theme

Option B: Update via FTP/SFTP

  1. Download and unzip the latest theme version
  2. Connect to your site via FTP/SFTP
  3. Navigate to /wp-content/themes/
  4. Upload the unzipped theme folder, overwriting the existing jessica folder. Review the theme changelog and be sure removed WPEC/IThemes Exchangefiles have been removed.
  5. Clear any caching plugins or server caches

After Updating

  • Check your site thoroughly to ensure everything is working correctly
  • Test key functionality like product pages, checkout process, and any custom features
  • If you encounter issues, restore from your backup and contact support

Continue Reading

Jon Brown

    More by Jon Brown
    email

    A new and improved support experience

    Posted on October 18, 2019

    Forums used to be a big deal

    Long ago most themes were supported via forums. Theme frameworks like StudioPress and Thesis used to have extremely active forums of which we were a part. Like so many of our freelance and agency customers we learned a lot from those forum communities, and running our forums has always been part of how we’ve given back to that very same community of learning and sharing that permeates the broader WordPress Community.  

    The way people request and digest information online is different these days, and it is much more transactional than lesson-based. In short, folks just want answers to their questions, not lessons. 

    As a result of the shift in the way information is being consumed, we will be discontinuing forum-based support and shifting resources to provide the best possible experience for email-only support.

    Self-service documentation  

    As we’ve evaluated our end-to-end support experience, we’ve found opportunities to make or self-service theme and plugin documentation a bit better as well. As a result, we’ll be focusing on updating documentation to better address the theme setup process and make your life easier in the process. 

    We’re also taking this opportunity to move self-service support documentation to a more modern system which will make getting answers to your questions faster and easier. And of course, if you’re not able to find the information you’re looking for, the ‘create support ticket’ button will be nearby to get in touch via email!

    Forum sunset plan

    The forum content will stick around for the foreseeable future as the information contained in the forums is still an amazing resource to those that want to mine them. They will be branded “community support forums” going forward which means that we will continue to monitor them to make sure the lights stay on, but they’ll no longer be our “official support channel”. Oh, and one last note on privacy — forum posts will forever retain the same privacy restrictions they have now. The public can see that the forums exist and read the post titles, but the body content of forum posts will only be available to logged in users. We don’t want your old forum posts about a client’s website indexed by search engines any more than you do!

    As always, please get in touch if you have questions!

    Continue Reading

    Jon Brown

      More by Jon Brown

      Lazy Loading Goes Native in Chrome

      Posted on September 30, 2019

      Good web developers build great experiences for users. Incredible web developers build super quick, elegant experiences for users. Speed is extremely important in modern web development because a growing number of consumers use mobile phones to access the internet – that’s why a while ago Google announced mobile-first indexing of web pages (basing your search position partially on how performant your website is on a mobile phone).

      Pro Tip: While creating a mobile-friendly website is an important principle of modern web design, it’s important to note that the mobile version of the site must be performant. We’ve seen many cases where sites lose search rank because mobile-first indexing reveals how poorly a site performs on a mobile device. Don’t assume that because desktop page load time is fast, that the mobile version of your website is fast too. 

      While there have been a lot of improvements in browser standards over the years, a feature called “lazy loading” has always been a performance hack baked into site-side code that utilizes one of the many lazy load compatible CDNs, caching plugins, or libraries. Unfortunately, these solutions often require a paid subscription or JavaScript payload to be transferred client-side as a prerequisite for the performance enhancements that come with lazy loading images. Sounds complicated because it is. That is, until now (if you’re using Chrome). Starting with Chrome v76, the browser gets a new superpower – native lazy loading.

      While the Chrome dev blog has a simple article on how to implement lazy loading, here are the top 3 things you should consider before getting started.

      It’s only good for images for now

      While Chrome developers have eluded to the fact that they might be adding other elements to  lazy load browser capabilities in the future, for right now the feature only works on images (image tags). That means that if you want to lazy load videos, CSS, or other types of content, you’ll need to use a traditional lazy load library.

      You’ll still need a fallback for unsupported browsers

      While native lazy loading is now supported by Google Chrome, there are plenty of other browsers that don’t yet support this standard. In-fact, the market share for Chrome worldwide is only 63.99%. That means that a little less than half of your users will experience diminished performance unless you opt to implement a lazy load library or plugin.

      Effectiveness of implementation has had mixed reviews

      In web development, installing a library or plugin is rarely the entirety of what needs to be done to implement a new feature. In the case of implementing native lazy loading in WordPress, there are a couple factors to consider including how your images are loaded (are they loaded with CSS as backgrounds to layers or as images within image tags) and conflicting plugins (a plugin that isn’t aware of Chrome’s new superpowers might continue to load libraries in order to lazy load the old way).

      Overall it’s awesome to see lazy loading capabilities becoming standard within browsers (especially browsers sponsored by the same companies that use performance as a ranking criteria). In the future, we look forward to other browsers adopting the lazy load standard along with the inclusion of new elements.

      Continue Reading

      Jon Brown

        More by Jon Brown

        CoBlocks, the Gutenberg page builder

        Posted on August 16, 2019

        We continue our Gutenberg block plugin review series with a dive into the features and benefits of CoBlocks. While most block plugins are billing themselves as first and foremost, block plugins, with a touch of page building capabilities, CoBlocks has gone all in as a self-proclaimed Gutenberg page builder. We spent some time playing with some of the latest CoBlocks features, and we’ll explore some of what we found in this article.

        CoBlocks has powerful page building capabilities

        The row is the one basic layout mechanism included with the CoBlocks system, and it’s powerful. Unlike some of the popular purpose-built page builders, the row block allows multiple levels of nesting; it’s also easy to adjust width, margin, padding, and colors of the [nested] rows. The block interface is super intuitive, and width adjustments can be made using drag-and-drop features that make this block feel very much like a visual builder. 

        While CoBlocks is off to an excellent start as an in-editor page builder, there’s more work to be done to reach the level of capability of purpose-built builders which allow for conditional display and full-page layouts. Probably more a limitation of Gutenberg, the blocks interface gets a bit clunky attempting to drag elements from within the row block to other rows or new elements.

        There are plenty of cool specialty blocks

        From social blocks to restaurant / services menus, CoBlocks has created some pretty awesome blocks built with the same intuitive interface used within the row block. Our favorite specialty block is the Pricing Table which facilitates quick creation of simple, responsive pricing tables well suited for a services company. These specialty blocks compliment mobile responsive Genesis themes and help the creation of advanced layout objects that appear to have been built mobile-first. The masonry gallery is also particularly awesome providing a nice visual refresh of the old gallery system within WordPress.

        Why should I trust this plugin?

        It seems these days that the good Gutenberg block plugins are all being acquired by larger companies. In this case, acquisition seems to be wearing well on the CoBlocks plugin as it has maintained it’s stellar rating in the WordPress repository, and has the backing of one of the largest WordPress hosting companies in the world, GoDaddy. 

        Continue Reading

        Jon Brown

          More by Jon Brown

          Atomic Blocks, the building blocks of an awesome Genesis site

          Posted on July 10, 2019

          Back when server-side includes were a thing, and custom PHP websites ran rampant, building a functional website took a ton of time and in some cases, a team of developers. If you visited one of the handfuls of beautifully designed sites on the web at that time, they were likely built by brands that had coffers deeper than the lifetime revenue of most small businesses. These days, the right Genesis theme combined with a powerful Gutenberg block builder like Atomic Blocks changes the graphical game for independent builders and small businesses alike.

          Over the next few months, we’re taking a deep dive into ways you can create elegant experiences for site visitors through the use of new and powerful block builders.

          What is Atomic Blocks good at?

          Atomic Blocks began its block-making journey with straightforward blocks that helped to shortcut common layout changes. From testimonials to author profiles and accordions to share icons, the plugin started as a way to help site builders create faster. Today, Atomic Blocks is pushing further into the visual site building space by introducing section and layout blocks that help creators build immersive full-page layouts similar to what you might be able to make with other purpose-made site builders. These layouts (new in the 2.0 release) are a super power we are excited to add to future 9seeds themes.

          atomic blocks homepage

          How does Atomic Blocks work?

          Any Gutenberg-based block builder requires users to have a Gutenberg friendly theme. Genesis is Gutenberg ready, and some specialized themes make working with block layouts particularly easy. Before you begin building, check in with your theme developer to make sure they offer full support for both Gutenberg and Atomic Blocks. Then, just like any other plugin, simply install the Atomic Blocks plugin to enable the extended functionality it provides.

          Next, head over to create a page and create your first visual layout using Atomic Blocks.

          atomic blocks in Gutenberg

          As you start building, make sure to check your work on the front-end to make sure that your theme is properly handling layout components.

          Why should I trust this plugin?

          The team behind Atomic blocks joined WP Engine shortly after WP Engine acquired StudioPress. That means that today, Atomic and StudioPress work side by side inside WP Engine.  Combined they’re both fueled by one of the most experienced and biggest WordPress companies in the industry. Acquisition aside, the repository page for Atomic Blocks shows 20k+ installations, active development, and an incredibly high 4.5 star rating. Overall, this is a solid plugin with the promise of continued development into the foreseeable future. That’s a win win.

          Continue Reading

          Jon Brown

            More by Jon Brown
            • Page 1
            • Page 2
            • Page 3
            • Interim pages omitted …
            • Page 5
            • Next

            Footer

            Get in Touch

            • New Project Inquiry
            • Product Support and General Inquiry
            • Store Purchase Terms and Conditions
            • Store FAQ
            • Cookie Policy
            • Privacy Policy

            Our Services

            • Custom WP Development
            • Theme Store
            • Plugin Store

            WordPress Plugins for Sale

            • Time Tracker
            • Authorize.net SIM Gateway

            WordPress Plugins for Free

            • Simple Calendar
            • WP Chargify
            • Facebook
            • Twitter
            • LinkedIn
            • WordPress
            • GitHub

            Copyright 2025 | 9seeds, LLC

            Like nearly all websites this one uses cookies too. Like most users we think consent banners like these are a dumb solution, but it's what we've got until new laws are passed. We use cookies on our website for remembering your preferences, for example if you're logged in or what is in your cart. We also use 3rd party cookies for analytics so we know what pages on the site are most popular. By clicking “Accept”, you consent to the use of ALL the cookies.
            Do not sell my personal information.
            Cookie SettingsAccept
            Manage consent

            Privacy Overview

            This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience and may even preclude you being able to login to the website.
            Necessary
            Always Enabled
            Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
            CookieDurationDescription
            __stripe_mid1 yearThis cookie is set by Stripe payment gateway. This cookie is used to enable payment on the website without storing any patment information on a server.
            __stripe_sid30 minutesThis cookie is set by Stripe payment gateway. This cookie is used to enable payment on the website without storing any patment information on a server.
            cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
            cookielawinfo-checkbox-analytics1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
            cookielawinfo-checkbox-necessary1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
            cookielawinfo-checkbox-others1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to store the user consent for cookies in the category "Others".
            cookielawinfo-checkbox-performance1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to store the user consent for cookies in the category "Performance".
            Functional
            Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
            Performance
            Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
            Analytics
            Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
            CookieDurationDescription
            _ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
            _gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
            CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
            Advertisement
            Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
            CookieDurationDescription
            VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
            YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
            yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
            yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
            Others
            Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
            CookieDurationDescription
            cookielawinfo-checkbox-functional1 yearThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
            SAVE & ACCEPT
            Powered by CookieYes Logo