[theme-reviewers] A few issues to look out for

Sayontan Sinha sayontan at gmail.com
Wed Apr 27 02:42:21 UTC 2011


Chip,

> And thus, such Themes would no longer be flexible enough to handle some
> non-core comment type added by a Plugin.
>
I believe the way to address this is fairly easy. E.g. Let's if you have
this code:

if ($comment_type == 'comment') {
   // do something for regular comments
}
else if ($comment_type == 'trackback') {
   // do something for trackbacks
}
else if ($comment_type == 'pingback') {
   // do something for pingbacks
}

All you need to do is add this last condition:
else {
   // Your catch-all activity for all other comment types. You can make this
behave like regular comments or trackbacks or pingbacks
   // By having this block you are ensuring all comment types are caught,
without being aware of what new comment type is defined
   // Otherwise you run the risk of dropping off such comment types.
}

Sayontan.

On Tue, Apr 26, 2011 at 7:36 PM, Chip Bennett <chip at chipbennett.net> wrote:

> If a Theme is providing callback output for 'comment', 'pingback', and
> 'trackback', then it IS handling every core comment type; thus, I disagree
> that a Theme is not "handling every scenario that core handles by default".
> A Theme cannot know what a Plugin might possibly hook into, or what content
> it might provide.
>
> Now, if a Theme provided callback functions for only 'comment' comment
> types, but not for 'pings' (or if it accounted for 'trackback' but not
> 'pingback', or something similar), then I would agree.
>
> One of the most common features is for a Theme to separate comments form
> pings. That very act of separation - however accomplished - would require
> explicitly declaring 'comment' and 'pings' comment types. Thus, it would not
> be using the 'all' comment type. And thus, such Themes would no longer be
> flexible enough to handle some non-core comment type added by a Plugin.
>
> Or am I missing something?
>
> Chip
>
>
> On Wed, Apr 27, 2011 at 6:02 PM, Justin Tadlock <justin at justintadlock.com>wrote:
>
>>  I probably didn't explain myself well enough in the first email.
>>
>> We're not looking at the "type" parameter of wp_list_comments().  We're
>> looking at the "callback" parameter here.  This is where a theme is
>> overriding core functionality.  If the theme didn't override this
>> functionality with a custom function, WordPress would display other comment
>> types by default.
>>
>> A plugin cannot be responsible for incorporating custom comment types if a
>> theme is purposely not allowing comments of a custom type to show.  There's
>> no hook to allow a plugin to override what a theme is doing there.  Even if
>> there was a hook there, this would be a major problem if a plugin was
>> changing how a theme handled the display of comments.
>>
>> What's happening here is themes are overriding core functionality without
>> handling every scenario that core handles by default.
>>
>>
>> On 4/26/2011 3:18 PM, Chip Bennett wrote:
>>
>> Quite possibly. But it is not the responsibility of Themes to account for
>> content added by Plugins.
>>
>>  I see no reason to require Themes to support a non-core 'tweetback'
>> comment-type. If a Plugin adds this comment-type, then the Plugin should be
>> responsible for incorporating it.
>>
>>  Chip
>>
>> On Tue, Apr 26, 2011 at 3:14 PM, Sayontan Sinha <sayontan at gmail.com>wrote:
>>
>>> Chip,
>>> I believe Justin is referring to the fact that plugins can add the type
>>> "tweetback". If that is the case, then a theme that is explicitly checking
>>> only for "comment", "pingback" and "trackback" is missing out on the ones
>>> that don't fall into these buckets, i.e. it is missing a catch-all for types
>>> introduced by plugins.
>>>
>>> Sayontan.
>>>
>>>
>>> On Tue, Apr 26, 2011 at 12:49 PM, Chip Bennett <chip at chipbennett.net>wrote:
>>>
>>>> I can't find that 'tweetback' is a core comment type.
>>>>
>>>>  According to the Codex<http://codex.wordpress.org/Function_Reference/wp_list_comments>,
>>>> the valid types are: 'all', 'comment', 'trackback', 'pingback', or
>>>> 'pings'
>>>>
>>>>  So, if a Theme accounts for these types, that should be sufficient.
>>>> For instance, if a Theme accounts for 'comments' and 'pings', all bases are
>>>> covered.
>>>>
>>>>  Chip
>>>>
>>>>
>>>> On Tue, Apr 26, 2011 at 2:39 PM, Chip Bennett <chip at chipbennett.net>wrote:
>>>>
>>>>> Hmm... I don't think I've yet seen a Theme that explicitly handles
>>>>> tweetbacks. (Honestly, I didn't even realize such a comment type existed.)
>>>>>
>>>>>  Chip
>>>>>
>>>>>
>>>>> On Wed, Apr 27, 2011 at 2:16 PM, Justin Tadlock <
>>>>> justin at justintadlock.com> wrote:
>>>>>
>>>>>> Here's a few things we should be on the lookout for when reviewing
>>>>>> themes that I thought I'd bring up.
>>>>>>
>>>>>> The use of the_post_thumbnail() with the_content() can sometimes be a
>>>>>> problem.  If a user places the image within the post content (at the
>>>>>> beginning of the post) and sets the same image as the "feature image," it
>>>>>> creates a duplicate image issue.  Some themes' designs are meant to handle
>>>>>> this while others aren't.
>>>>>>
>>>>>> Some themes have a comments callback function where they don't
>>>>>> recognize comment types other than 'comment', 'pingback', and 'trackback'.
>>>>>> This is also the case in the TwentyTen theme.  If you look at its switch
>>>>>> statement, you'll notice it doesn't give a 'default' case.  It should be
>>>>>> corrected to handle all comment types (e.g., tweetbacks).
>>>>>>
>>>>>> Loading JS and CSS on all pages of the admin.  Sometimes, themes hook
>>>>>> their theme settings page JavaScript and Stylesheet to the 'admin_init' hook
>>>>>> or something similar.  This should only be loaded on the the theme settings
>>>>>> page.  If using the add_theme_page() function, a hook is created just for
>>>>>> that page.  A better hook would probably be
>>>>>> 'load-appearance_page_$pagename'.
>>>>>> _______________________________________________
>>>>>> 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
>>>>
>>>>
>>>
>>>
>>>  --
>>> Sayontan Sinha
>>> http://mynethome.net | http://mynethome.net/blog
>>>  --
>>> Beating Australia in Cricket is like killing a celebrity. The death gets
>>> more coverage than the crime.
>>>
>>>
>>> _______________________________________________
>>> theme-reviewers mailing list
>>> theme-reviewers at lists.wordpress.org
>>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>>
>>>
>>
>> _______________________________________________
>> theme-reviewers mailing listtheme-reviewers at lists.wordpress.orghttp://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
>
>


-- 
Sayontan Sinha
http://mynethome.net | http://mynethome.net/blog
--
Beating Australia in Cricket is like killing a celebrity. The death gets
more coverage than the crime.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20110426/e5d5d206/attachment.htm>


More information about the theme-reviewers mailing list