[wp-hackers] Custom Post Types and pending incompatibilities

Rich Pedley elfin at elfden.co.uk
Tue Jul 13 07:51:46 UTC 2010


On 13/07/2010 08:03, Peter Westwood wrote:
>
> On 12 Jul 2010, at 23:24, Rich Pedley wrote:
>
>> On 12/07/2010 21:24, Peter Westwood wrote:
>>> I've read through the whole thread and he are my comments.
>>>
>>> Personally I would recommend against people "reserving" post
>>> types - you are creating mines in which your data will be
>>> stored which won't make it easy for other plugins or themes to
>>> interact with without breaking arbitrary rules:
>>>
>>> "like custom post types must be prefixed in a plugin specific
>>> way"
>>>
>>> I would rather recommend that if you are creating a plugin
>>> which allows people to create "Events" you use a post type
>>> called "event" and you write your code in such a way that if
>>> some special piece of post_meta you need is missing you have a
>>> default for it which you use.
>>>
>>> That way when I decide to switch from your Events plugin to
>>> this new kid on the block I can still manage and use all those
>>> events I already created using the new plugin.
>>
>> I cringe whenever I read people saying this. Maybe my thinking is
>> wonky on this issue, but surely different plugins will have
>> different ideas on how to use things. Example: 2 plugins each
>> using 'event' as their custom post type. plugin one uses
>> start_date&  end_date plugin two uses startdate&  enddate
>>
>> (and yes I'm thinking specifically of post meta here).
>>
>> You stop using plugin one and go to plugin two - but you will
>> potentially lose any extra data stored. The only commonality is
>> the post type name - every thing else is potentially different.
>>
>> Yes the post itself remains, but all the extras won't. I'm not
>> sure I see the benefit of actually using the same custom post
>> type.
>>
>> So am I missing something here?
>
>
> There is in my opinion a huge user benefit in the following:
>
> When I switch from Event Plugin A to Event Plugin B I don't "lose"
> all my events.

well no the data is still there.

> The bulk of the info stored for this post type will be in the
> standard fields.

agreed.

> Yes there will be some probably plugin specific post_meta but there
> is no reason why on activation you could not schedule a cron task
> to scan existing "events" for missing meta data and help the user
> fix those old events.

Interesting, though how many people will do this? It would need to be 
in every plugin that uses custom post types.

> To take this a step further the fixing process could actually just
> help the user tell your plugin which of the existing meta items
> contain the info it needs.

Search on stored data and trying to match to your setup - not easy to 
accomplish. But I suppose it is no different to an import routine. 
Which i admit I hadn't thought about, so yeah it is making sense now.

> I would much rather the user experience revolves around a little
> work to solve the differences between meta storage than just
> "losing" all there content.

Thanks for clearing it up for me - sometimes things just don't seem 
right until things are pointed out (and sometimes even obvious things 
pass me by).

Rich



More information about the wp-hackers mailing list