[wp-trac] [WordPress Trac] #48166: Cannot create a new CPT when passing NULL to taxonomies (was: Cannot create a new CPT without taxonomies)
WordPress Trac
noreply at wordpress.org
Mon Sep 30 14:18:18 UTC 2019
#48166: Cannot create a new CPT when passing NULL to taxonomies
-----------------------------------+------------------------------
Reporter: scarr | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Posts, Post Types | Version: 5.2.3
Severity: normal | Resolution:
Keywords: has-patch 2nd-opinion | Focuses:
-----------------------------------+------------------------------
Comment (by scarr):
@subrataemfluence - Thank you for taking swift action on my ticket.
Your characterization of the issue I raised is a much more accurate (and
better) re-statement, **Cannot create new CPT when passing NULL to
taxonomies**. I've adjusted the description to reflect it. Further, I
agree that $capabilities suffers the same issue.
I also accept your workaround - use "'taxonomies' => array()" instead of
"'taxonomies' => NULL" when creating a CPT without taxonomies.
Finally, I will leave it to the Core Team to decide whether to accept my
proposal on a best "best practices" basis.
@scarr
Replying to [comment:2 subrataemfluence]:
> @scarr thanks for the ticket and the proposal, which works well if
`$taxonomy => null`.
> The workaround looks good, but I have some thoughts about whether we
should go for it or not.
>
> We only use `$taxonomies` keys when we need to add one or more
taxonomies to a custom post type. I don't see a reason to add this key
with a NULL value intentionally while registering a CPT.
>
> And if we need to add this check for `$taxonomies`, it has to be added
for `$capabilities` key too.
>
> What I think is we use these keys to form the associative array
(`$args`), only when we know what value to pass. For passing just `NULL`,
we don't use them.
>
> However, from coding-best-practice perspective, I would say it is a good
idea to bring it in, but if we do, we have to incorporate at in other
areas of the core as well, like once I mentioned above.
>
> Regarding summary:
> A CPT can always be created if no `$taxonomies` key is used or it is
assigned with an empty array like `$taxonomies => array()`. The only
situation it throws the said error when the value is NULL, i.e.
`$taxonomies => NULL`. So, for me the initial summary by @scarr was
correct, i.e. **Cannot create new CPT when passing NULL to taxonomies**.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/48166#comment:3>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list