[theme-reviewers] theme_update_available

Tom Matteson perspectivevision at gmail.com
Sun Oct 9 19:00:16 UTC 2011


Dion ...

Wow ... that is a head scratcher. Glad your head scratching had a net
result. Mine was just making a bald spot on my head. Thanks. I had seen the
"Trump Card" referenced in the code, but only associated it with the default
themes, default, kubrick, twentyten and twentyeleven.  I appreciate the
extra effort. I doubt I will submit it as a bug. As long as I have a reason
for the behavior, I know what to do to avoid the issue.

*Best Regards
Tom Matteson*



On Sun, Oct 9, 2011 at 4:12 AM, Dion Hulse (dd32) <wordpress at dd32.id.au>wrote:

> 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).
>
> D
>
> 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
>> practical.
>>
>> 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
>>> that...
>>>
>>> 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
>>> ours.
>>>
>>> -Otto
>>> _______________________________________________
>>> theme-reviewers mailing list
>>> theme-reviewers at lists.wordpress.org
>>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>>
>>
>>
>> _______________________________________________
>> theme-reviewers mailing list
>> theme-reviewers at lists.wordpress.org
>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>
>>
>
> _______________________________________________
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20111009/6bbbea4f/attachment.htm>


More information about the theme-reviewers mailing list