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

9seeds

Building Custom WordPress Solutions | Plugin Development

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

News

Happy 15th Birthday, WordPress

Posted on May 30, 2018

This past weekend people all over the world joined together to celebrate WordPress’ 15th anniversary. That’s a mighty impressive life for an open source software project whose mission statement is “democratizing publishing” and which now powers a third of the internet. And the WordPress meetup has become a staple of our community.

To celebrate this auspicious date, I attended a WordPress meetup group in Bucharest, Romania. (I’m here before moving next door to Belgrade, Serbia for WordCamp Europe next month!) Big thanks to the Bucharest crew for their hospitality, and for the cake. Mmmmm, cake.

I’ve been to a lot of meetups around the world, and they never fail to impress me. They’re one of the most dynamic things about the community around WordPress. Universally, I find them to be places web professionals and hobbyists come together to share knowledge.

Meetups Create Relationships and Grow Your Skills

We say it a lot, but the spirit of WordPress community has run strong and deep here at 9seeds since we were founded as an agency nine years ago. Do yourself a favor: find the nearest WordPress meetup — even one of the smaller ones — then go check it out. Gather up your skills and your questions and take them there. Then keep doing that.

You can start your search for a WordPress meetup here. And if you ever spot any of the 9seeds gang at one, please come over and say hi.

Continue Reading

Jon Brown

    More by Jon Brown
    4 of the Best WordPress Themes for Genesis

    We’re Genesis Child Theme Champions in the WP Arena

    Posted on May 28, 2018

    Part of WP Arena’s stated mission is to elevate WordPress by providing valuable resources. Toward that end, they recently published a list of over 30 themes that they’ve dubbed “the best Genesis child themes ever created for WordPress.”

    The 9seeds team is feeling the love because four of our themes made the cut:

    • Jessica, a super-flexible e-commerce theme
    • Lisa Marie, a theme for hairdressers, salons, and spas
    • Patricia, our theme for non-profits
    • Sarah Ellen, a feminine theme for bloggers and other digital professionals

     

    Here’s how they each shook out in the lineup

    Patricia is our theme built specifically for non-profits. Loaded with useful tools, it grabbed the #2 spot.

    Lisa Marie was created for salons, independent hair professionals, and spas. It came in at #7, described as “…perfect for the beauty industry.”

    Sarah Ellen, the #31 pick, has always been billed as a blog theme with a feminine flair. But WP Arena dubbed it a ‘great choice’ for a professional website, saying “It’s not only for feminine blogs; the theme is actually versatile with its clean and modern design.”

    Jessica is our e-commerce theme and rounds out the list at #36. “Jessica is one of the most robust Genesis child themes for building online stores.”

    It’s a great compliment to have even a single one of our themes considered a valuable Genesis resource, much less four. And 9seeds being listed alongside some of the best theme shops in the WordPress community is gratifying.

    Thanks to WP Arena and Ben Shepardson for the hat tip in our direction!

    Continue Reading

    Jon Brown

      More by Jon Brown
      Adjusting Code Increases MemberPress Value

      Using MemberPress to Get that Magazine Feeling

      Posted on November 6, 2017

      Our customers come up with the best ways to use software sometimes. I recently had to have my eyes opened to the fact that just because we are in a digital age doesn’t mean we have to abandon all the old tools available to us.

      Let’s say you want to do a magazine style site where monthly content is given to subscribers. A standard way of implementing this with membership software is to charge for a monthly subscription which gives you access to everything, Then if you cancel, you lose access to the site. In one respect this model gives people the incentive to remain a customer but in another sense, it’s not exactly fair.

      • If a customer paid for a subscription and received 3 “issues” why wouldn’t they retain access to that over time?
      • Another thing to think about is that if you are expecting your customers to pay monthly, you have to keep the prices low enough such that they don’t notice it on the bill. This is how Time gets away with it at just $2.50/mo. That’s low enough to just pay forever without worrying about it and having access to (quick google search) 93 years worth of back-issues.
      • If you want to charge a higher subscription rate you have to offer a little more and one of those things can be the fact that they get to retain access to issues they were subscribed.

      So… how to implement this? Without code there really isn’t a way to accomplish this. The reality is it completely breaks the concept of a membership site to allow people access to premium content after they are no longer a member.

      MemberPress developers to the rescue.

      MemberPress recently implemented a rule which allows for this exact scenario. At its simplest form it states, “Even though you have access to this resource, I’m going to deny you anyway.” The way we correct this is to simply not protect the magazine issues and instead write a little snippet of code which asks, “This issue was published on March 9th, does the user attempting to access this issue have a transaction for March 9th?”

      With the chunk of code below we check and make sure they have a transaction covering the time period they’re trying to access. If they do, we allow them to see what they’ve already purchased.

      We love taking awesome products like MemberPress and tweaking them to provide the exact functionality our clients desire. If you have a WordPress or MemberPress customization project, please get in touch:

      Get in Touch with 9seeds

      add_filter('mepr-last-chance-to-block-content', 'deny_selective_access_9s');
      function deny_selective_access_9s($deny,$current_post,$uri) {
          //short circuit if it's not even a magazine issue post type
          if($current_post->post_type != 'magazine-issue')
              return $deny;
      
          //if there isn't even a user block access. We don't want to do a lot of 
          //work looking up transactions if they aren't even logged in
          $user = new MeprUser(get_current_user_ID());
          if(!$user->ID)
              return true;
      
          //add a custom where to get transactions by user by date
          add_filter('mepr_transaction_get_complete_by_user_id_custom_where', 'deny_selective_access_where_9s');
          
          $num = get_all_complete_by_user_id( $user->ID,
              '', //order by
              '', //limit 
              true, //count only
              true, //include expired
              false, //include confirmations
              true //include custom where
          )
          
          //do not leave this filter lying around to confuse other parts of the memberpress software
          remove_filter('mepr_transaction_get_complete_by_user_id_custom_where', 'deny_selective_access_where_9s');
      
          if(!$num)
              $deny = true;
      
          return $deny;
      }
      function deny_selective_access_where_9s($where,$user_id){
          global $post,$wpdb;
            $where .= $wpdb->prepare(
              'AND %s > t.created_at  AND %s < t.expires_at ', $post->post_date,
              $post->post_date
            );
          return $where
      }
      
      Continue Reading

      Todd Huish

        More by Todd Huish
        9seeds Founder Jon Brown Sponsors WordCamp Phoenix

        WordCamp Phoenix Grows Open Source Community

        Posted on November 1, 2017

        Last month 9seeds Founder Jon Brown attended WordCamp Phoenix, witnessing the growing WordPress community in Arizona. Held at a co-working space named Galvanize, the open venue offered plenty of seating and was a natural space to gather as WordPress users.

        WordCamp Phoenix was smaller than expected at under 200 attendees (another larger version is planned for February 2018), and only showcased a single panel of speakers. Initially this seemed odd, but it meant that each speaker benefited from a larger crowd and that each attendee had exposure to new topics. The successful format illustrates that bigger isn’t always better.

        WordCamp Phoenix attendees included a wide mix, with sponsors and advanced users mingling with beginning and intermediate users.

        A beginner workshop was held alongside the speaker track on Saturday morning speakers for several hours, in the large co-working room. After the workshop concluded, speaker presentations and panel discussions could be heard and seen virtually in the extended space. It was a different approach, but seemed to be welcomed.

        Session topics included the REST API, Business, Poetry, Data and Analytics, Security and others. You can see the schedule here.

        Held the weekend before Halloween, the WordCamp Phoenix After Party turned into a costume party. The After Party was combined with local AIGA members who finished up their own conference that same weekend. All in all, WordCamp Phoenix proved to be a great way to grow the open source community and we are happy to have been able to attend the event and make many more friends in Phoenix.

         

        Continue Reading

        Jon Brown

          More by Jon Brown
          9seeds dual store news

          9seeds’ WordPress Theme Store Launched

          Posted on October 27, 2017

          We are super excited to announce our 9seeds has completed the move of Web Savvy Marketing’s theme store and forums over to 9seeds.com!

          Everything theme related from sales to support now occurs over here at our Theme Store. If you are an existing customer of WSM or 9seeds and ant to get to your existing account history it’s here at My Account and the support forums can be directly accessed via this link.

          As many of you know immediately after the acquisition was announced Robert and I took over providing support but were doing so on WSM’s forums. We felt that would be the best way to intimately understand the running of the store and support forums. We also started making a plan on how to bring all that was there over to 9seeds.com.

          Are two WordPress e-commerce stores better than one?

          We considered merging the two stores for a long time. WSM’s WooCommerce installation has a long order and customer history selling Genesis Child Themes for over 5 years. Our site had an equally long order and customer history selling WordPress plugins for over 5 years, however using Easy Digital Downloads with software licensing and subscriptions.

          In the end, we determined it was just way to much unnecessary work and far too likely to have bugs and issues that would cause customers grief.  So, we did what we tell our custom development clients all the time, “take it one step at a time.”

          WooCommerce or Easy Digital Downloads or Something else?

          For now, we have two storefronts on one domain: one for themes and one for plugins. You’ll notice a “Theme Cart” and “Plugin Cart” up in the top menu. That might be a little confusing to some but we suspect it’s extremely unlikely any of you are going to try to buy one of our themes and one of our plugins at the same time, at least in the near term.

          A lot of you are probably wondering since we’re now working with both if we really like WooCommerce or Easy Digital Downloads better. The answer is no, we like them both and more. Really. We remember a time when the only e-commerce solution for WordPress was WP e-commerce. In fact, we even built a couple of commercial plugins for WPEC many years ago, one was sold to another maintainer and the other we still actively sell.

          In fact, these days there are several great options for e-commerce on WordPress including not just those, but iThemes Exchange and Freemius and a bunch of others.

          We may settle on one solution to rule them all at a later date, but for now, we don’t want to give up EDD’s Software Licensing and updates for our plugin sales. Nor do we don’t want to give up WooCommerce’s follow up email system and cart experience.

          We will share more on this in the coming months as things evolve, rest assured one of our aims continue to be to make things painless for all our existing and future customers.

          A Smooth Transition for Customers

          We think we’ve got all the kinks worked out for now. If you notice anything amiss, please let us know and we’ll get it fixed up right away. We want your experience at the 9seeds theme and plugin store to be the best possible.

          Of course, I also know many of you want to hear news about new themes and plugins. Those are coming very soon and are in final testing now that the store/forum merge is behind us that the store work is behind us, so stay tuned!

          Continue Reading

          Jon Brown

            More by Jon Brown
            • Prev
            • Go to page 1
            • Go to page 2
            • Go to page 3
            • Go to page 4
            • Go to page 5
            • Go to page 6
            • Interim pages omitted …
            • Go to page 19
            • 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 2022 | 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