Names in WordPress settings API

To plugin developers WordPress offers the Settings API. It lets us define settings pages, sections within those pages and fields within the sections. WordPress Settings API We use WordPress options to store configuration variables for our plugins. The settings API lets us create pages in the WordPress back-end dashboard to allow users to enter and … Read more

Jetbrains Gateway is really nice

Jetbrains, the Czech company that makes PhpStorm, WebStorm and Intellij-Idea, has their Gateway product in beta. It works like this: you run the Gateway software on your desktop machine — you know, the one with the nice display — and it connects to some other development machine to run your IDE. I’ve been using it … Read more

Filtering Database Changes During WordPress Updates

During its occasional and automatic core version updates (for example from version 5.9.2 to 5.9.3) WordPress inspects its tables in its database server (MariaDB or MySQL) and tries to restore them to WordPress’s standard schema. Sometimes a site owner or plugin customizes those tables. For example my Index WP MySQL For Speed plugin reorganizes some … Read more

Big WordPress Instance for Testing

Here’s a WordPress instance with 100,000 fake users made with the DemoPress plugin. It also contains fake posts, pages, and comments. If you need to test a plugin or theme with a large site, this may help you. The image of the instance was made with the Duplicator plugin. Download the zip file, unzip it, … Read more

Register WordPress Hooks Declaratively

Have you ever written any WordPress code that needed to register a lot of hooks — a lot of actions and filters? Have you ever forgotten to put the right number of $expectedArgs into the call to add_action() or add_filter()? Worse, have you ever forgotten your call to one of those? No more! This article … Read more

WordPress plugin release tools

When developing WordPress plugin for distribution on the wordpress.org directory, we need some tools to automate the release process. It’s convenient to use github (or another source-code control vendor) to hold the day-to-day development source code. And, when we’re ready to release the plugin to the WordPress repository, we need to use WordPress’s Subversion (svn) … Read more

Real users slow applications down

Anybody who’s worked with databases knows this: as they grow they can slow down. It’s the curse of the customer base. Successful applications gather users and other transactional data. In this article I’m using MySQL database queries based on WordPress’s database design. Still, the ideas in this article apply to every application built on any … Read more

Capturing and examining queries

This entry is part 2 of 2 in the series WordPress MySQL performance monitor

It’s straightforward to get WordPress to capture the MySQL queries it uses to generate each page view. We can then analyze the captured queries. Capturing WordPress offers a way to capture a list of the database queries it uses in each page view. It’s simple: define the global SAVEQUERIES symbol. You can define it permanently … Read more