I was looking for an easy way to make a development copy of the Many Tricks blog, which (like Robservatory) is powered by WordPress. In the past, I’ve done this manually, but it’s a bit of a pain to get the required edits done correctly and make everything work at the new URL.
So this time, I went searching for a plug-in, and found Duplicator. Borrowing from the plug-in’s description of itself…
Duplicator gives WordPress administrators the ability to migrate, copy or clone a site from one location to another. The plugin also serves as a simple backup utility. Duplicator supports both serialized and base64 serialized string replacement. If you need to move WordPress or backup WordPress this plugin can help simplify the process.
Once installed, usage is pretty easy: You follow a simple three-step process that creates a new package. Move that package to the new location, expand it, and then run the installer.php file. (I had to rename the three files from the package to remove everything except the filenames; the plug-in adds a bunch of identifying text in front of each filename.)
The installer asks questions about the new site’s URLs and database connection info, then does its magic. I had a clone site up and running in minutes, saving what (for me) is usually an hour or so’s aggravation. Duplicator should work equally well for moving a WordPress installation to a new host, too, though I haven’t tested it in that situation (yet).
WordPress has a neat built-in feature that, when composing a post, if you put the URL to a specific tweet on its own line, like this…
…then WordPress will automatically convert it to a tweet link, like this:
By default, though, the embedded tweets will be left-aligned. I wanted them center aligned, as above. And because I just wasted 15 minutes figuring this out, I’m documenting the solution here to save myself future aggravations…
One of the things that annoys me about WordPress’ admin side is that to get to draft versions of posts, you have to first select Posts > All Posts, wait for that page to load, then select Drafts. The majority of the time, when I’m headed to my posts, I’m headed to the drafts section to work on an upcoming post.
This little modification adds a Drafts entry to the Posts sidebar item, as seen in this before-and-after view:
The change is relatively trivial, requiring only a simple edit to your theme’s functions.php file. David Walsh explains it all in this thorough post. I’ve recreated the bit of code in the remainder of this post, just in case the linked site ever goes away. (It’s all under the MIT License, so there are no restrictions on copying.)
But really, just go read David’s post, he explains it very well. I’ve added this to the admin page on the three sites I run, because it’s just so convenient.
This is the fourth (one, two, three) in an occasional series of articles that explain which plug-ins I use here, in case others who run WordPress blogs might be interested…and it also helps me document why I use certain plug-ins, so it’s a double-purpose post.
Since the last installment two years ago, I’ve retired Dashboard Commander and ELI’s Related Posts Footer Links and Widget, and added seven new plug-ins. Here’s what each of those does:
Note: If you’re not running a WordPress blog and using its built-in gallery feature, the following will be of no interest to you; it’s posted here mainly to make it easier for me to find in the future, when I forget it once again.
WordPress includes a simple-but-usable gallery feature. Unfortunately, posts with embedded galleries display a thumbnail for every image in each gallery—and there are no options to limit the display of thumbnails. While fine for shorter galleries, such as this one, if you’ve got a lot of images, this can make for an ugly page.
What I wanted was the ability to include an image gallery in a post, but not show a thumbnail for every picture in the gallery. Ideally, I’d just be able to use the first image from the gallery, or perhaps even a text link. After a lot of fruitless searching, I finally found the very simple answer in a post by malissas in this thread.
This marks the third (one, two) in a continuing series of occasional posts about the plug-ins I use to run the site. Since the last update, things have changed a bit.
- For various reasons, I’ve had to disable GrowMap Anti-Spambot and Stop Spammers. Anti-spam services are now provided by Akismet, JetPack’s comments plug-in, and Sabre.
- Sliding Read More also bit the dust, because it wasn’t compatible with WordPress’ built-in Gallery feature.
So much for out with the old…read on to see what’s been added…
The last time I redid these pages’ appearance, back in 2007, I wrote about the WordPress Plugins and Widgets that I was using to run the site.
After seven years, quite a lot has changed. I’ve gotten rid of all but one of the items on the original list, and found some very useful new additions that help both me and visitors
From that original list, the one leftover Plugin is Ajax Comment Preview, which implements a true click-to-view comment preview function. The others went away either because I wasn’t using them any more (weather in the sidebar, how quaint), or because WordPress’ built-in features made them redundant.
Keep reading to see what’s keeping the site ticking now…
As you can see (unless you’re using RSS, in which case, visit the site to see), there’s a new look around here. According to the datestamp on the folder, my old theme (which I named “macbar” for no obvious reason) went live in January of 2007. In internet years, that’s like 300 years ago.
The age of the theme showed, too. Graphics were heavy, textures overbearing, and (worst of all) the site was entirely fixed in size, which made for a horrid mobile experience (and it wasn’t great on big screens, either). As a reminder of the “good old times,” click the image at right for a flashback.
So say hello to “macbar2014,” if only because I’m too lazy to think up an exciting new name. The new theme is responsive down to iPhone size, and also expands to fill 1400 or so pixels of width. Beyond that, the text field stops growing, as honestly, it gets hard to read if it’s too wide. But that still gives a much wider reading area than the old theme.
With the new theme comes a renewed focus on keeping the blog up to date; it’s my plan to post here more regularly post, including more detailed looks at some of the 140 character observations that I blast out on Twitter. I’ll also link to my Macworld articles, as much for my easy future reference as anything else.
Read on if you’re at all interested in the tech details behind the site do-over…
For the last few weeks, I’ve been getting hundreds of registrations here, and given (a) there’s no reason to register except to post a comment, and (b) there aren’t very many comments posted, I figured something was up. Until yesterday, though, I didn’t know what was going on. Now, thanks to the WordPress 2.6.2 release, I do:
With open registration enabled, it is possible in WordPress versions 2.6.1 and earlier to craft a username such that it will allow resetting another user’s password to a randomly generated password. The randomly generated password is not disclosed to the attacker, so this problem by itself is annoying but not a security exploit. However, this attack coupled with a weakness in the random number seeding in mt_rand() could be used to predict the randomly generated password.
In other words, by registering often enough with specially-crafted usernames, you may eventually be able to force the admin user’s password to be reset to something random, and you may know that random password. Scary stuff. So today, I upgraded to 2.6.2, and cleaned out the vast majority of recently-created accounts.
If you’d signed up for a legit account and I zapped it, please just register again — and sorry for the inconvenience.
Today, WordPress released WordPress for iPhone. So I thought I’d try it out–given how little I post here, any excuse to write something is worth a shot!
Anyway, we bought this electric pump to inflate our kids’ pool. I found the combination of the warning and the left-hand image somewhat at odds with each other! (In case the image isn’t clear, that’s the pump being used to inflate a child’s swimming pool, which is not generally considered an “indoor household” item.)