get_terms() order by term_meta

the order doesn’t seem to follow the meta value Yes, and it’s because you set the meta key like this: (which doesn’t actually set the meta key) array( ‘key’ => ‘order’, ), The proper way is by using the meta_key parameter: ‘meta_key’ => ‘order’ So the full code would be: $type_terms = get_terms( ‘type’, array( … Read more

Retrieve taxonomies from arbitrary site

how can I retrieve all taxonomy terms for a post in an arbitrary site programmatically? In other words, given post $post and site $siteId, how can I retrieve all terms for all taxonomies of that post in that site? You can do this by omitting the taxonomy from WP_Term_Query: $query = new WP_Term_Query( [ ‘object_ids’ … Read more

Is it possible to get_terms by author?

Not directly, because terms are assigned to posts, not authors. You will need to query all posts, get their terms and authors, and then filter out terms which came with posts that have other authors than get_query_var(‘author’). Note that depending on the number of posts your site has, this kind of query could be very … Read more

WordPress built-in method to extract array of term IDs?

I know you’ve long since solved this, but wanted to offer another solution. This question popped up as “related” when I was answering another one. You can use the WordPress function wp_list_pluck to return an array with values as one of the fields of the array or objects sent to the function. In other words, … Read more

How to get all attributes with their terms related to specific Woocommerce product category [closed]

Well, I found the following solution: $args = array( ‘category’ => array( ‘category_slug’ ) // or ‘term_taxonomy_id’ => 4 i.e. category ID ); foreach( wc_get_products($args) as $product ){ foreach( $product->get_attributes() as $attr_name => $attr ){ echo wc_attribute_label( $attr_name ); // attr label // or get_taxonomy( $attr_name )->labels->singular_name; foreach( $attr->get_terms() as $term ){ echo $term->name; } … Read more

How to change / delete product short description in Woocommerce

Th function wp_set_object_terms() will not work to set post object properties. To add/update/delete product short description there is mainly 2 ways: 1) the WordPress way from a post ID using wp_update_post() function this way: $product_id = $post->ID; // or get_the_id() or $product->get_id() (when $product is available); // The product short description (for testing) $new_short_description = … Read more

Check if term object is in array

WordPress has the wp_list_pluck function, which can be helpful here. We can make an array of just term IDs from the array of objects like: $term_ids = wp_list_pluck( $subcat_terms, ‘term_id’ ); Then we can check in_array: $this_id = 42; if( in_array( $this_id, $term_ids ) ){ // do something }