You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm evaluating using this plugin on a WooCommerce site I'm building.
Woo already has built-in support for adding images to it's product_cat taxonomy. And I want to add images to Woo's product_tag taxonomy...and that works fine.
However, there's a conflict with WP_Term_Meta_UI::term_clauses() and the way Woo alters what is returned by get_terms().
Woo provides a drag-and-drop UI on the edit screen for the product_cat taxonomy that allows a user to specify a sort order for the terms in that tax on the front end. It stores that order order as term meta. By default, it orders to terms in the terms list table by that sort order...as such it adds 'orderby' => 'meta_value_num' (thru some filter, I forget which at the moment).
Unfortunately, when WP_Term_Meta_UI::term_clauses() sees 'orderby' => 'meta_value_num' it joins to the term meta table and alters the where clause such that only terms with the image meta key are return. This results in 0 terms being found, even tho the list table realizes there are terms in the taxonomy as evidenced by the highlighted numbers in this screenshot.
[Note: the Image column in that screenshot is Woo's built-in column, and not the one added by this plugin. I have hooked into wp_term_image_get_taxonomies and restricted the taxonomies this plugin adds the Image column on to Woo's product_tag tax.]
As a workaround I tried to unhook WP_Term_Meta_UI::term_clauses() and WP_Term_Meta_UI::get_terms_orderby() from terms_clauses and get_terms_orderby respectively since I don't want the Image column to be sortable anyway. I'm hooking into manage_edit-product_tag_sortable_columns to remove the Image column this plugin adds from the sortable columns (to match the fact that Woo's built-in Image column for the product_cat taxonomy isn't sortable). However, since there is no global variable for that object I can't do that.
I bet Woo isn't the only thing that will conflict with allowing 'orderby' => 'meta_value_num' to cause the join/where modifications that WP_Term_Meta_UI::term_clauses() does.
Knowing you, I'm sure there's a good reason for having meta_value_num in $allowed_keys even tho this plugin doesn't ever key that as an orderby, but for the life of me I can't figure out why :-) This plugin seems to work just fine if I remove meta_value_num from $allowed_keys.
The text was updated successfully, but these errors were encountered:
This is still an issue. If you activate this plugin with WooCommerce all your categories disappear from Products > Categories. Deactivating it will bring them back.
I'm evaluating using this plugin on a WooCommerce site I'm building.
Woo already has built-in support for adding images to it's
product_cat
taxonomy. And I want to add images to Woo'sproduct_tag
taxonomy...and that works fine.However, there's a conflict with
WP_Term_Meta_UI::term_clauses()
and the way Woo alters what is returned byget_terms()
.Woo provides a drag-and-drop UI on the edit screen for the
product_cat
taxonomy that allows a user to specify a sort order for the terms in that tax on the front end. It stores that order order as term meta. By default, it orders to terms in the terms list table by that sort order...as such it adds'orderby' => 'meta_value_num'
(thru some filter, I forget which at the moment).Unfortunately, when
WP_Term_Meta_UI::term_clauses()
sees'orderby' => 'meta_value_num'
it joins to the term meta table and alters thewhere
clause such that only terms with theimage
meta key are return. This results in 0 terms being found, even tho the list table realizes there are terms in the taxonomy as evidenced by the highlighted numbers in this screenshot.[Note: the Image column in that screenshot is Woo's built-in column, and not the one added by this plugin. I have hooked into
wp_term_image_get_taxonomies
and restricted the taxonomies this plugin adds the Image column on to Woo'sproduct_tag
tax.]As a workaround I tried to unhook
WP_Term_Meta_UI::term_clauses()
andWP_Term_Meta_UI::get_terms_orderby()
fromterms_clauses
andget_terms_orderby
respectively since I don't want the Image column to be sortable anyway. I'm hooking intomanage_edit-product_tag_sortable_columns
to remove the Image column this plugin adds from the sortable columns (to match the fact that Woo's built-in Image column for theproduct_cat
taxonomy isn't sortable). However, since there is no global variable for that object I can't do that.I bet Woo isn't the only thing that will conflict with allowing
'orderby' => 'meta_value_num'
to cause the join/where modifications thatWP_Term_Meta_UI::term_clauses()
does.Knowing you, I'm sure there's a good reason for having
meta_value_num
in$allowed_keys
even tho this plugin doesn't ever key that as an orderby, but for the life of me I can't figure out why :-) This plugin seems to work just fine if I removemeta_value_num
from$allowed_keys
.The text was updated successfully, but these errors were encountered: