Categories
Web Development

UserVoice Gadget API

I wanted to learn what data is sent by the UserVoice Inspector Gadgets (I do appreciate the name 😉), but there was no information I could find online. Here’s some basic information about the HTTP request that is made by the Gadget.

Categories
Personal

Bring Cash

Strolling past each booth of fresh-cut flowers and freshly-gathered eggs, my wife and I stopped at a booth carrying bread. Next to the booth, a man in a cycling outfit was doing yoga in the afternoon sun. He came over and he explained the rye: it was dark, perfect with cream cheese and jam. He […]

Categories
Personal

Taking The Pledge

I formally take The Pledge: At a public conference I won’t serve on a panel of two people or more unless there is at least one woman on the panel, not including the Chair. I want more diversity in tech and in the world. I pledge to try to make diversity a reality, and then […]

Categories
Web Development

Is your Easy Digital Downloads AJAX request taking too long to load?

TLDR: If you want faster credit card AJAX load times in EDD, disable the “Show previously used cards” setting in EDD. Hint: It only happens when you or a customer are logged-in. I’ve recently found that it can take up to 8 seconds for the credit card fields to load when working on the GravityView […]

Categories
Code Gravity Forms

Is Gravity Forms not able to repair your `gf_addon_feed` database table?

If you click the “Re-run database upgrade” link in Gravity Forms’ System Status page, and it doesn’t properly generate the {prefix}_gf_addon_feed table, here’s the likely problem: The Feed Addon that you have installed is likely not being activated early enough. This is about to get techy: The “Re-run database upgrade” script is triggered by the […]

Categories
GravityView

How to send randomly-selected support tickets to Slack once a week for easy review

At GravityView, we’re starting a review process for support to make sure that as we grow, our support continues to be awesome. We’re starting a Support Review meeting. We will randomly choose tickets to review for each person who has provided support in that time. Random selection is a pain, so we created a Zapier […]

Categories
Code Web Development

Allow customers to update their cards in disabled gateways using Easy Digital Downloads Recurring Payments

Last year, GravityView was using PayPal Pro to process credit card transations with our shopping cart, Easy Digital Downloads. Over time, we became frustrated with the error rate of PayPal notifications: PayPal kept telling us the country code wasn’t set. But it was. This was preventing customers from checking out, so GravityView switched to using […]

Categories
Web Development WordPress

Translating Multiple Branches of Your Premium Plugin with Transifex

Since GravityView launched in 2014, we have used Transifex to manage translations. Our process has always relied on a single translation resource file, and we’ve had the same flow over time: Create an update with new strings Upload the translation file to Transifex Release the update In the next minor release, include any new translations […]

Categories
Mac

Is your Fluid app is too slow? Try nativefier instead

I have used Fluid for years to create single-page native web applications that run on my Mac. I have one for Help Scout, I have another for Trello, but I have noticed a problem: when replying to tickets in Help Scout, I would experience serious lag. Letters would appear hundreds of milliseconds after I typed. […]

Categories
WordPress

The Future of WordPress

I will be presenting the WordCamp Denver 2017 keynote on August 26, 2017. It’s a privilege, and I’m looking forward to it! If you don’t have tickets yet, it’s not too late—get a ticket now. See you soon! I will update this post with the slides once they are available, and I will also have “show notes”—a […]

Categories
Blogging Personal

Using Tweets to post more regularly

Update: this failed spectacularly. Didn’t work. Bad idea. I feel like many of my tweets could (and should) be short articles on my blog, but I’m lazy. I’m setting up a Zap t… https://t.co/C3jHX8CVid pic.twitter.com/TKpyUtJZ7f — Zack Katz (@zackkatz) Sat Jun 03 18:00:01 +0000 2017 I think the pendulum of social media may have swung […]

Categories
Personal

Gwen Ifill

I did not know Gwen was sick. I didn’t know she had cancer. On Monday, she died. I respected her and found comfort in her presence. I trusted Gwen to tell me the truth, to find humanity in any situation, to always reflect appropriate levels of concern. I trusted Gwen Ifill completely. Not because she was on TV, but […]

Categories
Code WordPress

How to fix UTF-8 filename issues when using wp_handle_upload()

PHP said the file didn’t exist. Except it did. file_exists() wasn’t working for a file uploaded using wp_handle_upload(). It worked for every other file, except for one provided by a German customer. I confirmed the following: The file did exist in the correct wp-uploads sub-directory The file had correct permissions The directory and its parents […]

Categories
Web Development

Restoring VVV functionality to Pressmatic

I switched from developing using Vagrant with VVV to using the new Mac app Pressmatic. I’ve been very happy, and so has my Mac—the dev environment runs much faster and my computer has been working a lot less. Less fan noise is good. The server environment that Pressmatic uses don’t have some basic stuff that […]

Categories
Plugins

Version 4.0 of the Constant Contact Plugin

I’ve been working on releasing a new version of the Constant Contact plugin for months, and it’s finally ready. The result: faster, more reliable, more features, and did I mention faster!? The Form Designer, inline editing, and EventSpot are all 100% better. I highly recommend upgrading. This plugin requires PHP Version 5.5 or newer. If […]

Categories
Code jQuery WordPress

Fixing JSON Parse Error in WordPress Plugins

If you write WordPress plugins and make AJAX requests, you may be familiar the dreaded Javascript error: SyntaxError: JSON Parse Error: Unrecognized token ‘>’ Why? Why!?! What it means is that the response your code expected is screwed up because a plugin barfed PHP warnings into the admin-ajax.php ventilation system. When WP_DEBUG is on, admin-ajax.php […]

Categories
GravityView KWS

Wanted: Intermediate/Advanced PHP Developers for Ongoing Freelance Work

Are you a self-motivated intermediate or advanced PHP freelance developer? Want to work on taking WordPress plugins to the next level? I want to work with for someone who is interested in contract or hourly work to work with on GravityView, IDX+, and my other WordPress plugins. There is lots of work to be done. […]

Categories
Code CSS WordPress

How to use your own widget icon in the WordPress Widget customizer

In developing deeper integration with the Customizer functionality of WordPress, I wanted to use a custom icon for my IDX+ plugin’s widgets. By default, WordPress defines a list of icons using their dashicons icon set and tries to guess the best icon for your widget based on the CSS class of your widget. Check out […]

Categories
Gravity Forms GravityView

GravityView

Have you ever wanted to take a form submission and show the results on a website? That’s what GravityView does. GravityView integrates with the popular Gravity Forms plugin and makes it easy to display entries on your website. Embed Gravity Forms entry data in a post or a page Control what data is displayed using […]

Categories
Constant Contact WordPress

Help test the Constant Contact API 3.0 plugin beta!

Almost ready. It’s been a long haul for the new version of the Constant Contact for WordPress plugin. I started working on it before Constant Contact finalized their new API, so let’s just say it has been a major undertaking 🙂 Now I need help getting it ready for release! The new Constant Contact WordPress […]