On Jan 4 2011 1:23 PM, Andrew Nacin wrote:
On Tue, Jan 4, 2011 at 1:12 PM, Dougal Campbell<[email protected]>  wrote:

So, why doesn't get_post_format() return 'standard' for regular posts?

It returns an empty string, and as a result, we have special-case handlers
sprinkled throughout the rest of the code to handle converting the empty
result to the string 'standard'. Is there a reason for this that I'm
overlooking?

(this is in response to Chip Bennett's query about it on Twitter and on my
blog)

We don't store the standard post format in the database. Having a "standard"
format is no different from having no format. Thus has_post_format() returns
false, and get_post_format() returns empty -- it's by design.

Nacin

Okay, I understand not storing in the db -- it's a default case, we don't need/want the clutter in the terms mapping. So on *save* operations, it makes sense to strip out 'standard', if it's been passed in.

But for reading post information, why not move the special casing into get_post_format(), instead of duplicating it?

get_post_format(), get_post_format_string(), get_post_class(), wp_xmlrpc_server::mw_getPost(), and wp_xmlrpc_server::mw_getRecentPosts() all have special case 'if' clauses, all immediately after calling get_post_format(). (I only checked wp-includes, there might be more cases in the wp-admin code).

Seems it would make more sense to let get_post_format() return 'standard', and eliminate a lot of checking in other parts of core. It would also help future-proof against future code changes that might miss the exception.

Again, I'll admit that I might be overlooking something, and the change might complicate something elsewhere in the code.

--
Dougal Campbell <[email protected]>
http://dougal.gunters.org/
http://twitter.com/dougal
http://twitual.com/
_______________________________________________
wp-testers mailing list
[email protected]
http://lists.automattic.com/mailman/listinfo/wp-testers

Reply via email to