• 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

plugin

Extending The Functionality of MemberPress

Posted on July 7, 2015

 

 

memberpress_mod

There are a number of well established commercial WordPress plugins that provide an almost perfect solution out of the box for our customers. These plugins are big part of what makes WordPress a great and affordable solution for so many websites. Often however, a business needs something “just a little custom”. Where a full custom solution might be tens of thousands of dollars in development, a $100 plugin and a few hours of custom development can deliver a similar highly tailored solution. This recently completed project extending MemberPress is a great example.

Unique Client Needs

A client using MemberPress came to us wanting to offer their members the ability to purchase a gift membership for someone else as well as a way to set up and manage a very customized 40 day email drip program.

Taking Something Good And Making It Better

We love working with the MemberPress plugin. It’s robust and can meet the needs of many membership sites. However, each business is unique in the services it delivers to it’s customers and sometimes delivering those services requires extending the functionality provided by a plugin.

Implementing the gift memberships was more challenging than it sounds. The existing coupon functionality in MemberPress assumes that a site administrator would simply create a coupon code for use by many users. We started with this and extended it such that users could purchase a 100% coupon and that coupon could be sent to someone as a gift. The final tweak was to make it so these coupon codes were one-time use only.

The 40 day drip program took people through a series of daily questions about each day’s lesson. MemberPress tracks progress through the drip program but doesn’t allow users to go back and repeat the program. We created a plugin that allowed users to reset the program to day 1 and wiped out all of their previous answers so they could start the process anew.

Both add-ons work independently of one another giving the site owner flexibility in which add-on functionality is active at any given time.

Customized Solutions

There are countless amazing plugins out there that do a massive range of things for a specific need. When you need something a little different the most affordable solution may be to extend one of those existing plugins to fit your particular need. Contact us. We’ll create the perfect plugin add-on for you!

Continue Reading

elena

    More by elena

    Updating WP Chargify: Revisiting a Custom Plugin Built Long Ago

    Posted on May 13, 2015

    chargify-wp-cover

    5 years ago, Jason Glaspey came to us wanting to use Chargify to manage recurring subscriptions for his paid members. At the time there was no plugin available for WordPress to connect with Chargify. Jason hired us to build a custom plugin for his specific needs. He also generously allowed us to make it available for free to all on the WordPress Plugin Directory.

    Over the years Chargify has made lot of changes to their service. While Jason had sponsored the original plugin he moved on and the plugin sat idle for quite a while. Chargify recognized the importance of the plugin being updated and reached out to us to do a complete overhaul.

    We were excited to take on the project. It was great to be given the opportunity to revisit code we wrote so long ago. We were able to update the plugin with all the latest Chargify features as well at the latest best coding practices.

    Chargify was delighted with the results and wrote a nifty post on it where you can read about all the new functionality here.

    Thanks to 9seeds great work on our plugin, using WordPress and Chargify together has never been easier!” ~Britton Gwaltney, Chargify – Director of Sales

    Building custom plugins for hire like this is one our favorite services. If you need a custom plugin developed or just need to streamline a function please contact us! We’ll be happy to help you, too.

     

    Continue Reading

    elena

      More by elena

      Want more free plugins? You might have to pay for them

      Posted on June 4, 2013

      Normally I do a lot of contemplation while riding my bike. This week, it happened while mowing the lawn. I was thinking about Chris Lema’s post about commercial WordPress plugins being too inexpensive.

      Strangely enough, it got me thinking not about commercial plugins, but about free plugins. Everyone wants free plugins. WordPress is free, BuddyPress is free. There are several great free plugins out there that will make WordPress do strange and wonderful things.

      Continue Reading

      justin

        More by justin

        WP Affiliate Manager version 1.5

        Posted on January 7, 2013

        We’re glad to announce the release of WP Affiliate Manager version 1.5.0.  This version initially centered around a bugfix having to do with a namespace conflict in the latest (3.8.9.x) versions of WP e-Commerce.  However in the process, we were able to add several minor enhancements that will enhance WP Affiliate Manager for the future.

        gettext translation wrappers

        While not all screens have had the gettext translation wrappers applied (notably the settings and paypal pages in wp-admin), everything else has been added.  Expect a 1.5.x release early in 2013 that will be fully translatable.

        As such, we’re putting out a call for translators.  We are willing to offer free one-year licenses (with support & upgrades) for WP Affiliate Manager to anyone who contributes a full translation in their own language. We have a couple of people already talking to us about certain languages, so if you’re interested, please fill out the form on our translation page and let us know what language you’d like to help us add to WP Affiliate Manager!

        money_format() for Windows

        money_format() is a native PHP function, but it does not exist on Windows platforms.  We added a simple one for those hosting in Windows environments which should get the job done.

        PayPal enhancements

        First, the sandbox PayPal URL has been fixed.  This is mostly used for development/testing purposes, but none-the-less is important.

        Also, we removed the requirement for needing the PHP cURL module requirement.  Instead, WP Affiliate Manager uses WordPress’ native HTTP request methods.

        jQuery UI Tabs + cookies + mod_security bugfix

        An interesting sidenote… we discovered a bug where if you went to the 2nd tab on WP Affiliate Manager’s “My Affiliates” screen on our test server, your next navigation point in WordPress would either result in a 404 error, or an endless loop of 302 redirects.

        Turns out the bug was caused by a perfect storm of Apache’s mod_security (which is enabled on our test server) and the use of jQuery UI Tabs with a cookie save option.  What was occurring was the cookie name was being saved as “ui-tabs-1” and if your last visited tab was the 2nd tab (index 1) the cookie was saved as “ui-tabs-1=1”.  This would be passed with each HTTP request as a cookie header.  Since mod_security doesn’t like anything where “1=1”, it was changing the request, causing WordPress to become all sorts of confused.  You can see a bug report about it here: http://bugs.jqueryui.com/ticket/8027

        The solution was to name the cookie, so the automatically generated name wasn’t used:

        jQuery("#tabs").tabs({
            cookie: {
                name: 'wpam_detail_tab'
            }
        });

        Enjoy all of the fixes!

        Continue Reading

        justin

          More by justin

          New plugin: Authorize.net SIM Gateway for WP e-Commerce

          Posted on December 10, 2012

          A while back we released the WP Affiliate Manager plugin which integrates directly in to the WP e-Commerce plugin to allow you to easily track and pay affiliates for driving traffic to your site. We have since been keeping an eye on the WP e-Commerce community and when we saw the opportunity to help with another plugin, we jumped at the chance.

          Today we released a new payment gateway for WP e-Commerce: Authorize.net Server Integration Method, or SIM for short. From the Authorize.net website:

          SIM provides a customizable, secure hosted payment form to make integration easy for Web merchants that do not have an SSL certificate.

          WP e-Commerce has a wide range of payment gateway options available, and we’re happy to help expand their reach by giving users one more option to choose from.

          If you are interested in reading more about how Authorize.net’s SIM works, you can check out the developer center at Authorize.net.

          The plugin is available now and is compatible with the new 3.8.9.x software.

          Continue Reading

          john

            More by john
            • Go to page 1
            • Go to page 2
            • 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 2023 | 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