Dion Hulse (dd32)
wordpress at dd32.id.au
Sun Oct 9 11:12:18 UTC 2011
Alright.. Figured it out.. even if it took me a good 45minutes flipping back
and forth between your site, the API code, and scratching my head!
The root cause of it is: You've got multiple Themes called 'WordSmith Anvil'
on the installs in question.
Longer answer: WordPress includes a "Trump Card" system, whereby, if a theme
attempts to use a name which has already been used by another theme on the
site, the theme name gets suffixed with the theme directory. As a result,
the theme update API is receiving a request looking for a theme called
'WordSmith Anvil/wordsmith-anvil' with a slug of 'wordsmith-anvil'.. Now,
the Themes API doesn't know about that title.. and since it requires an
exact match on both the Title and the Slug, it'll never respond with an
update for that particular theme.
Take the other copy of the theme though, the one which WordPress read first
and which took the "WordSmith Anvil" title, Well, it has a slug of
"wordsmith-anvil-theme-1.2.1" and once again, which the update API doesn't
know about (since it needs both the Title and Slug to match) will not
receive an update either!
Finally.. You might now question why you don't see the "WordSmith
Anvil/wordsmith-anvil" title shown anywhere in the Admin.. Well, WordPress
knows that that title isn't meaningful to you, so uses the raw Title instead
of the "Name" (WordPress internally refers to themes by the unique "Name"
rather than the directory slug for historical reasons).
I'm not sure what can be done about this for the update API, It's entirely
possible to work around it, but introduces issues on the client side (the
wrong copy of the theme might be upgraded) and isn't a situation that 99% of
users would ever come across.
*tl;dr:* If you have multiple themes with the same name on a WordPress blog,
There is a high chance that the updates will not be notified about, due to
the internal name not matching the theme title (that the update API uses).
On 9 October 2011 21:44, Tom Matteson <perspectivevision at gmail.com> wrote:
> Otto ...
> Thx for pointing that out. Now that you mention it, that is what I recall
> having read. In fact, I think it was probably a post of yours I had read.
> Clearly, it makes more sense that each install will call home; rather than
> WP calling out to millions of installs. That, of course, would not be
> That being said, I am still trying to figure out why on my installs, the
> theme_update_available function seems to be getting bypassed or timing out
> only for my theme. At least it was reassuring to hear, per Dion, the update
> message appears to be displaying for this theme on other installs. I have
> addressed a couple other issues that were brought to my attention in this
> thread. However, I am not sure if any of those changes will have any impact
> the the function and the display of the update message. However, it has been
> less than 12 hours since I made these changes.
> Thx to everyone that has responded.
> *Best Regards
> Tom Matteson*
> On Sat, Oct 8, 2011 at 9:41 PM, Otto <otto at ottodestruct.com> wrote:
>> On Sat, Oct 8, 2011 at 8:14 PM, Tom Matteson
>> <perspectivevision at gmail.com> wrote:
>> > My understanding is that WordPress.org runs a cron job twice a day
>> No. Your own WP install runs its check, then stores the results in a
>> transient with a 12 hour expiration time.
>> So, if you just checked, and then change things around, it won't check
>> again for another 12 hours. This is controlled by your system, not
>> theme-reviewers mailing list
>> theme-reviewers at lists.wordpress.org
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the theme-reviewers