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 […]

Categories
Code

How to remove WangGuard honeypot fields

WangGuard is a great plugin for blocking spam registrations. Without it, this site gets about 50 per day. No good! I did encounter an issue, however: The <![if !IE]> tag was showing on my registration form for some reason. The code WangGuard adds inside the tag is used to generate a “honeypot” section: spam bots […]

Categories
Plugins

Gravity Forms Directory Security Update

Yesterday a crucial security flaw was discovered in the Gravity Forms Directory plugin and fixed immediately. Version 3.5.4.3 was released and takes care of the issue. __Please update immediately__. For the security of the users still running older versions, we can’t go into what the flaw was, but it had to do with viewing Gravity […]

Categories
WordPress

How to get all downloads in Easy Digital Downloads

Easy Digital Downloads defaults to using 10 results per page when using the get_products() method. You can modify this default using the edd_api_results_per_page filter. Here’s how to fetch all products at once: $EDD_API = new EDD_API; // Force EDD to show all the downloads at once. add_filter(‘edd_api_results_per_page’, ‘modify_edd_api_results_per_page’ ); // Get all the EDD products […]

Categories
Design

Design 101: Beautiful Banking Interfaces

My bank just got bought by another bank, and this is the beautiful egg they laid on me: pink and green zebra stripes. Compare that to Simple.com. Any questions?

Categories
Google WordPress

How to Add Support for Display Advertising Code in Google Analytics for WordPress

It’s really simple to use Google’s Display Advertising code, so I thought I’d share how. To enable the new GA features: Check the “Show Advanced Settings” Under “Advanced Settings,” check the checkbox for “Host ga.js locally:” In the text field that appears, enter: //stats.g.doubleclick.net/dc.js Note: The missing http and https is intentional – if your […]

Categories
Mac

30 Years of Mac: White and Male

Apple has a deep-seated diversity problem. In the 30 Years of Mac mini-site, a thoughtfully prepared homage to the history of the Macintosh and the people who use it to create, there were four women featured out of the twenty-eight profiles. One of the women featured, Noemi Trainor is an educator, a role women are […]

Categories
Google Web Development

Set the Width for a Google Maps InfoWindow

Working with Google Maps v3 is way fun. If you’re a masochist. It seems like there’s no easy way to set the width of an InfoWindow. You can set the minWidth parameter, but that does nothing. If you have content that exceeds the InfoWindow window, you get this: a scrolling box. That’s terrible. The solution […]

Categories
WordPress

I’ll be at WordCamp Phoenix 2014

I’m going to be attending WordCamp Phoenix 2014 from the 17-19th. If you see me there, say hi! I’m looking forward to meeting some plugin developers and other people I recognize from the attendance roll. I’m also looking forward to expected 70° temperatures.

Categories
WordPress

Testing Translation Function Speeds in WordPress

After reading Pippin Williamson’s post about gettext speed issues, I wanted to learn more. My IDX+ plugin has 815 translatable strings, and I was worried that it was having a performance impact on the plugin. I created a test that looped through different methods of outputting and printing strings to try and determine their relative […]

Categories
Code WordPress

Test Payments for Admins in Easy Digital Downloads

I’m in the process of setting up a store using the Easy Digital Downloads plugin. It’s been a good process so far and I’ll have more posts about it. While I was setting up the checkout process for testing, I wanted to be able to use test payments but keep the option hidden to non-admin […]

Categories
KWS SEO

SEODenver.com: Now katz.co

SEODenver.com is now katz.co Katz Web Services hasn’t been doing SEO for years – I’ve been focusing on making great WordPress plugins (such as IDX+) and I have been disenchanted with the SEO industry. So it was time to move the SEODenver.com domain to katz.co. I’m looking forward to writing more blog posts now that […]

Categories
Plugins

YOURLS Link Anonymizer

Link Anonymizer Anonymously visit links in YOURLS, including referring sites and original URLs. Sometimes you want to click a link, but you don’t want to have your YOURLS installation be the refferer. So you right click, copy the URL, paste it in your address bar. Instead, use Link Anonymizer to generate a link for you […]