[wp-trac] [WordPress Trac] #38323: Reconsider $object_subtype handling in `register_meta()`
WordPress Trac
noreply at wordpress.org
Wed Apr 5 21:17:44 UTC 2017
#38323: Reconsider $object_subtype handling in `register_meta()`
-------------------------------------------------+-------------------------
Reporter: flixos90 | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting
Component: Options, Meta APIs | Review
Severity: normal | Version:
Keywords: has-patch needs-unit-tests 2nd- | Resolution:
opinion | Focuses: rest-api
-------------------------------------------------+-------------------------
Comment (by flixos90):
Replying to [comment:22 jnylen0]:
> Some discussion in Slack today:
https://wordpress.slack.com/archives/C02RQBWTW/p1491423937985603
>
> The solution I like the best so far is the introduction of a new
`WP_Object_Type` class (perhaps not the best name). This class would be a
very simple pointer to one or more object types for which the meta key
should be registered.
>
> Then, `register_meta` could be updated to accept one of these objects as
its first parameter, filling in the gap in functionality discussed in this
ticket.
+1
>
> It was proposed to make `WP_Object_Type` a base class for `WP_Post_Type`
and `WP_Taxonomy`. I disagree with this because the proposed class is
'''not''' an object type itself, rather it is a '''pointer''' to one '''or
more''' object types. Having a `WP_Object_Type` that can represent "all
post types" is necessary, but it would break this encapsulation.
I don't think this is a limitation. I think it makes sense to have
`WP_Object_Type` as a non-abstract class that represents an object type.
The `WP_Post_Type` and `WP_Taxonomy` (and other future subtype) classes
can inherit that class and provide data to make them a representation of a
subtype (as that's what they are). We have a chance to create a common
ground for those classes, and I don't think it makes sense to add another
standalone-class without integration that actually contains related
functionality. Another advantage would be that you get the object subtype
back when registering it (for example `$post_type = register_post_type(
... )`) so that you could then immediately `register_meta()` for that
subtype.
[attachment:wp-object-type.diff] is a quick example of what I have in
mind. Maybe it would even be more accurate to introduce a `WP_Subtype`
class and inherit `WP_Object_Type`, and then `WP_Post_Type` and
`WP_Taxonomy` could inherit `WP_Subtype`.
(Please not that all these names are probably not the best, the
implementation is what we should focus on for now.)
--
Ticket URL: <https://core.trac.wordpress.org/ticket/38323#comment:23>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list