Я попробовал ответить Даниэлю, и это не сработало для меня. Возможно, код Wordpress / Woocommerce изменился с тех пор, или, может быть, я не совсем понял, как это сделать, но в любом случае этот код ничего не сделал для меня. Однако после большой работы, использующей его в качестве базы, я придумал этот фрагмент кода и поместил его в свою тему functions.php
:
function wcproduct_set_attributes($id) {
$material = get_the_terms( $id, 'pa_material');
$material = $material[0]->name;
// Now update the post with its new attributes
update_post_meta($id, '_material', $material);
}
// After inserting post
add_action( 'save_post_product', 'wcproduct_set_attributes', 10);
. С этим я могу взять то, что я установил как «материал» на моей установке WooCommerce как пользовательский атрибут и добавьте его в формальный мета как _материал. Это, в свою очередь, позволяет мне использовать другой фрагмент кода, поэтому функция поиска WooCommerce распространяется на мета-поля, то есть я могу искать материал в поле поиска WooCommerce и отображать все элементы с этим материалом.
Надеюсь, это полезно кому-то.
Я бы пошел с:
Lead.where.not(phone: User.select(:phone))