• 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

News

Running WP Event Ticketing with Thesis

Posted on November 27, 2010

UPDATED 12/1/2010: Version 1.1.2 was released this evening and fixes the conflict with Thesis. Instead of editing the files manually, you can download the latest version instead.

We’ve had a few reports of our plugin WP Event Ticketing not displaying the Ticketing menu on the admin dashboard. The common denominator for the reports was that they were all using the Thesis theme.

After some troubleshooting through the code, I found a conflict that I believe to be a bug in the way WordPress handles the addition of new navigational menu items. I’ve reported the conflict to the WordPress development team, but it’s not something that will likely be fixed right away. So until then, we’ve come up with a simple workaround. We will include this update in our next release, but until then, here is the workaround.

1. In a text editor, open the file named ticketing.php
2. Find the line that looks like this:

add_menu_page('Tickets', 'Tickets', 'activate_plugins', 'eventticketing', array("eventTicketingSystem", "ticketReporting"), WP_PLUGIN_URL . '/' . plugin_basename(dirname(__FILE__)) . '/images/calendar_full.png',30);

3. Replace that line with the following:

add_menu_page('Tickets', 'Tickets', 'activate_plugins', 'eventticketing', array("eventTicketingSystem", "ticketReporting"), WP_PLUGIN_URL . '/' . plugin_basename(dirname(__FILE__)) . '/images/calendar_full.png',29);

Once you make this change, “Tickets” should now show up right before the “Thesis” menu item.

As always, if you run in to any issues with the plugin, we urge you to post it to the WP Event Ticketing Support Forum. If you’d like to be informed when we release new software updates, be sure to sign up for the 9seeds Newsletter.

Continue Reading

john

    More by john

    John Hawkins interviewed by Life of the Freelancer

    Posted on November 24, 2010

    Back in September I was contacted by Robert Dempsey about doing an interview for a new project he was working on. The project is a site called Life of the Freelancer where he’s providing excellent information, interviews and resources for people who are already or are considering leaving corporate America and working as freelance.

    Since I work from home, every day life happens all around me all day long. About 5 minutes in to the video, you’ll get to hear my Irish Setter lose his mind when the gardener shows up. After that, things settle down. 🙂

    I was lucky enough to have the opportunity to meet Robert in person a few weeks back at WordCamp MSP. He is a tremendously nice guy and is providing excellent information over at LifeOfTheFreelancer. I encourage you to check it out.

    As a quick aside, I was jokingly giving Robert grief about the fact that I had recorded the interview with him back in September and as of a few weeks ago it still hadn’t been posted. It was, of course, all in good fun. But you know how they say everything happens for a reason, well this was a perfect example. Listening to the interview this morning turned out to be perfect timing. It was a great reminder of why we set out on this crazy journey that is 9seeds.

    Before I go, I’d like to wish you all a very happy Thanksgiving.

    – John

    Continue Reading

    john

      More by john

      New support forums

      Posted on November 15, 2010

      As we continue to release new plugins, providing our users with an easy way to get technical support is very important to us. So we’ve set up a couple support forums for our existing products.

      WP Affiliate Manager
      Product Information
      Support Forum

      WP Event Ticketing
      Product Information
      Support Forum

      Both forums are brand new, so don’t be shy about being the first to throw in a question if you have one.

      Continue Reading

      john

        More by john

        New plugin: WP Event Ticketing

        Posted on November 3, 2010

        As we were gearing up to organize WordCamp Las Vegas 2010, we wanted to move the management of the ticket ordering process in-house. One of the main reasons being we didn’t want to pay a third party site to handle the ticket sales for the event since they charge per ticket. Sure, we could have passed the cost on to the ticket buyer, but that’s just not how we roll! Instead, we got to work building a WordPress plugin; WP Event Ticketing.

        If you are the impatient type, you can download WP Event Ticketing and try it out, or read on for a list of features and screenshots.

        WP Event Ticketing Features

        • Real-time payments via Papal
        • Multiple ticket types. (For example, basic ticket includes entry only, gold ticket includes entry plus a shirt.)
        • Ticket packages that can include multiple tickets. (Useful for offering registration to sponsors.)
        • Set your event’s maximum attendance
        • Choose what data you want to collect from attendees
        • Limit quantity of each type of ticket packages to sell
        • Display/hide # of tickets remaining on registration page
        • Create single or multiple use coupons
        • Create flat-rate or percentage based coupons
        • Send email notification to all registered attendees
        • Export attendee list to CSV
        • Manually create a ticket for an attendee
        • Ticket and revenue reporting
        • Summary reports show counts by data collected. (for example, display a list of t-shirt sizes and how many of each you need to order)

        Screenshots

        Looking for more features?
        We are currently hard at work on Event Ticketing Pro. We have a ton of features planned for the pro version! You aren’t going to want to miss it. Sign up for our newsletter to be notified when the pro version is released.

        Continue Reading

        john

          More by john

          Drupal to WordPress migration

          Posted on October 2, 2010

          Updated: 8/19/2013 – 9seeds does not offer Drupal to WordPress conversion as a stand-alone service. If you need to convert from one CMS to another, we suggest you check out https://9seeds.com/cms2cms

          A client came to us this week with a problem; he had a Drupal site with over 1000 articles that he wanted to convert to WordPress. So we headed to Google for some help. There are several tutorials out there on how to migrate Drupal content to a WordPress site, but many of them are really outdated. After kicking the tires on a few, this post by Mike Smullin seemed to be the best jumping off point.

          Mike is right up front in his instructions with the fact that you’ll need to do a bit of tweaking to his set of instructions to get it to work for your setup. After a few failed attempts, we came up with an updated set of instructions. We’ve included the updated version along with notes about changes made.

          These instructions are a set of SQL statements. It assumes you have a database named WordPress using ‘wp_’ as the prefix and another database named Drupal.

          This should go without saying, but I’ll say it anyway; do not move forward without backing up your databases FIRST!

          Clear all existing WordPress content

          TRUNCATE TABLE wordpress.wp_comments;
          TRUNCATE TABLE wordpress.wp_links;
          TRUNCATE TABLE wordpress.wp_postmeta;
          TRUNCATE TABLE wordpress.wp_posts;
          TRUNCATE TABLE wordpress.wp_term_relationships;
          TRUNCATE TABLE wordpress.wp_term_taxonomy;
          TRUNCATE TABLE wordpress.wp_terms;
          

          Create Categories

          INSERT INTO wordpress.wp_terms (term_id, `name`, slug, term_group)
          SELECT
           d.tid, d.name, REPLACE(LOWER(d.name), ' ', '_'), 0
          FROM drupal.term_data d
          INNER JOIN drupal.term_hierarchy h
           USING(tid);
          

          Add Taxonomies

          INSERT INTO wordpress.wp_term_taxonomy (term_id, taxonomy, description, parent)
          SELECT
           d.tid `term_id`,
           'category' `taxonomy`,
           d.description `description`,
           h.parent `parent`
          FROM drupal.term_data d
          INNER JOIN drupal.term_hierarchy h
           USING(tid);
          

          Import posts/pages
          We added ‘article’ to the array on the last line to solve an issue with the way Drupal had categorized the posts.

          INSERT INTO wordpress.wp_posts (id, post_date, post_content, post_title, post_excerpt, post_name, post_modified, post_type, `post_status`)
          SELECT DISTINCT
           n.nid `id`,
           FROM_UNIXTIME(n.created) `post_date`,
           r.body `post_content`,
           n.title `post_title`,
           r.teaser `post_excerpt`,
           IF(SUBSTR(a.dst, 11, 1) = '/', SUBSTR(a.dst, 12), a.dst) `post_name`,
           FROM_UNIXTIME(n.changed) `post_modified`,
           n.type `post_type`,
           IF(n.status = 1, 'publish', 'private') `post_status`
          FROM drupal.node n
          INNER JOIN drupal.node_revisions r
           USING(vid)
          LEFT OUTER JOIN drupal.url_alias a
           ON a.src = CONCAT('node/', n.nid)
          WHERE n.type IN ('post', 'page', 'article');
          

          Turn articles in to posts
          This will turn the ‘articles’ from the previous step in to ‘posts’ in WordPress.

          update wordpress.wp_posts set post_type='post' where post_type='article';
          

          Add post to category relationships

          INSERT INTO wordpress.wp_term_relationships (object_id, term_taxonomy_id)
          SELECT nid, tid FROM drupal.term_node;
          

          Update category count

          UPDATE wordpress.wp_term_taxonomy tt
          SET `count` = (
           SELECT COUNT(tr.object_id)
           FROM wordpress.wp_term_relationships tr
           WHERE tr.term_taxonomy_id = tt.term_taxonomy_id);
          

          Import comments

          INSERT INTO wordpress.wp_comments (comment_post_ID, comment_date, comment_content, comment_parent, comment_author, comment_author_email, comment_author_url, comment_approved)
          SELECT nid, FROM_UNIXTIME(timestamp), comment, thread, name, mail, homepage, status FROM drupal.comments;
          

          Update comment counts
          After fighting with the original syntax, I added the ‘use wordpress’ step to get around it.

          use wordpress;
          UPDATE `wp_posts` SET `comment_count` = (SELECT COUNT(`comment_post_id`) FROM `wp_comments` WHERE `wp_posts`.`id` = `wp_comments`.`comment_post_id`);
          

          Fix breaks in post content

          UPDATE wordpress.wp_posts SET post_content = REPLACE(post_content, '', '');
          

          Fix images in post content

          UPDATE wordpress.wp_posts SET post_content = REPLACE(post_content, '"/files/', '"/wp-content/uploads/');
          

          If your posts have any images you’ll need to move them from your ./files directory to the ./wp-content/uploads directory. The final step above should take care of fixing any image calls in your pages and posts, but you still may need to manually update them if you are having issues.

          Download a copy/paste friendly version of the Drupal to WordPress instructions here.

          if you have any questions, leave us a comment below.

          Continue Reading

          john

            More by john
            • Prev
            • Page 1
            • Interim pages omitted …
            • Page 14
            • Page 15
            • Page 16
            • Page 17
            • Page 18
            • Interim pages omitted …
            • Page 20
            • 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