Recent blog posts
Everyone loves the parallax effect, and I've been swiping snippets of code to do it for a long time, but never really thinking about it too much. You load it, set some parameters, and that's it. I was having a little glitch with one, and was tweaking it, and I started to wonder why the effect didn't just start at one end of my image, and end at the other end.
There are several good references about how to set up the Customizer to avoid refreshing the entire page with each change. here, and there's some deeper explanation here. What's not described much is how to map several settings to a single area of the page (called a Partial).
This tutorial will go into updating Partials that use several settings. I assume you have already done the other tutorials.
I needed to learn a little about the events triggered in the Customizer, and came up with a little script that does that.
I'm not sure if this is a bug, but it's so odd that I'll leave a post here to remind myself about this. The Customizer has an odd behavior if you enter it via the big blue button on the Admin dashboard that reads "Customize Your Site".
My script was working, but it wasn't loading correctly the first time. I had to reload to make it run. Unacceptable.
I spent a full day going down a lot of interesting rabbitholes, but ended up finding a really simple, almost obvious, solution. That's a good thing, but the torturous journey is the reward.
In yesterday's post, I talked about fixing up old PHP code to be safer.
There's another anti-pattern common in old PHP code, and that's mixing the display logic with the output logic. While some of this is inevitable, nowadays, the rule is to use a templating system like Twig to separate out even small bits of HTML code from the logic.
WordPress does this on the front end via Underscore templates, but configured to use Handlebars-like syntax.
This is a PHP class that does the same thing with PHP.
I've been a real nut for filter_var() for years, and have come up with concise ways to use it, but totally missed this other function, which, at first look, seemed a little too specialized.
Well, I was so wrong. This is a great way to filter inputs. I figured this out when I had to fix up some code because it was throwing a zillion "Notice, index foobar not defined." in the error logs.
That's what happens when your legacy code looks like this:
all over the place, and it's not defined.
I wrote another script at Greasyfork. Here's my profile.
This one adds a "filter" feature to the ebay selling list so you can quickly find specific items.
Greasyfork is a repository of scripts for Greasemoney and Tampermoney, web browser extensions that allow you to execute your own Javscript code on any web page.
This means you can create elements, insert them onto the page, and do automate some repetitive tasks.
Go to your active listings.
Set the listing length (at the bottom of the page) to a high number so all your items are listed.
Check off the box that selects all the rows.
Click "Edit" button, to go to the editor that alters multiple items.
Check off the box that selects all the rows.
Under the "Action" menu, select "Export to file". From there you can choose CSV or PDF.
I'm studying the wp.media library, and Backbone.js. I never really did anything with except toy programs with Backbone - and I didn't really grok it, so now I can learn it... post Angular and post-React. It's going backwards in time, but, still instructive because the Backbone.js idioms are different from the easier-to-use frameworks.
I'm still working on reading through the WP media code, but found several references that have helped.
(It seems like I got the AJAX server working, at least somewhat. So I needed to implement the editors. This is really difficult because it's all in the wp.media hierarchy, and with keywords like "wp" and "media", it's hard to find the documentation. I have been digging around in the code trying to understand it, and came up with notes, which I'll post occasionally. These are mainly for myself, to review when I need to restart the exploration, but they're posted because someone else might find this useful.)
These are incomplete, and probably incorrect notes.
This is a two-part howto about encrypting data for Thunderbird. The first part is about Enigmail, a way to encrypt your email messages. The second is about encrypting your entire email storage on your computer.
get_shortcode_regex() (GSR() from now on) is used to parse shortcodes from a post's text.
I was writing a filter to take the post text, parse the shortcodes, and modify them by adding an "id" parameter.
After I spent some time writing a regex to parse the shortcodes, I discovered GSR(). GSR() was better and more complete.
Now I just had to learn to use it - and there weren't any docs.
Let's Review How to Use Shortcodes
You've basically got five ways to use shortcodes: