php composer, WordPress, and plugins

This entry is part 5 of 5 in the series php features

At the request of a user I configured the Index WP MySQL For Speed plugin to use php’s composer package manager for installation. That plugin has a mu-plugins component because it sometimes needs to intervene in core and plugin updates. Ordinarily, activating it puts the the code into the mu-plugins/ directory. But some WordPress installations … Read more

In php, empty arrays are falsey, not truthy

This entry is part 4 of 5 in the series php features

Maybe I should have known this. But I didn’t, to my detriment. Empty arrays are falsey. Like so. The rule that an empty array is falsey bit me when doing this sort of thing. Many SQL queries can return an empty result set, that is, a result set with zero rows in it. That’s a … Read more

Gravity Forms tables

The good people at Gravity Forms were kind enough to give me a developer license to their plugin, to allow me to analyze their indexes on request from a user of Index WP MySQL For Speed. These are the tables. All of them look like they have OK indexes, except wp_gf_entry_meta, which has a couple … Read more

APCu in php — some notes

This entry is part 2 of 5 in the series php features

I’ve been working on the SQLIite Object Cache plugin for WordPress. I’m using the APCu User Cache, php’s RAM cache subsystem, to accelerate cache lookups — specifically to support wp_cache_get() and wp_cache_get_multiple() operations. I’ve had to figure out a few things about this php feature. Here are some notes. Its documentation is not as comprehensive … Read more

Gathering diagnostic data for plugin support

What’s this problem? WordPress plugins run on a variety of sites running on a variety of server configurations, and a variety of other plugins. It’s common for unexpected configurations to cause trouble for plugin users. Then, users open support threads saying “something went wrong.” The plugin authors then need to ask for configuration information to … Read more

Setting up a WooCommerce shop

Somebody asked how to set up a WordPress / WooCommerce shop with the Flatsome theme. Understand that this is a web site operations project, not a development project, at least until you get it basically working. For now, ignore any advice to use Bricks, Elementor, Divi or some other site builder. You’ve chosen Flatsome. Get … Read more

Can I use custom HTML and CSS with WordPress?

You can, but you’re using it in a different way than you would on a full-custom site. Back in the days of Adobe Dreamweaver, people crafted their web sites from HTML using an HTML-aware text editor. It could edit Javascript and CSS too. It was possible, and indeed necessary, to write custom HTML for everything, … Read more

php’s microtime() function

This entry is part 3 of 5 in the series php features

php’s microtime( true ) function returns a floating point number of seconds since the UNIX epoch. On my computer each call takes about 200ns. The same is true of the time() and hrtime() functions. hrtime() is more modern and gives nanosecond resolution, so use it if possible. It’s available in php 7.3 and beyond. By … Read more

Improving WordPress core search

WordPress’s core search capability is very simple and very primitive. That can be frustrating. We’re spoiled by Google, Bing, and the other search engines which have had decades to get really good. What makes them good is a lot of information beyond the content of any given site, and thousands of programmer labor years making … Read more