Я хочу создать таблицу с настраиваемыми полями в WordPress. Это выглядит примерно так:
+---------------------------------------------+
| company | | | |
| | field1 | field2 | Field3 |
| | | | |
+----+-----------+----------+----------+------+
| 56 | 5 | 55 | 58 |
+----+-----------+----------+-- -------+------+
| 888 | 6 | 88 | 55 |
+----+-----------+----------+-- -------+------+
| 558 | 88 | 2 | 150 |
+----+-----------+----------+----------+------+
Мне нужно создать фильтр для загрузки списка сообщений, где:
"company" == 888
"field1" <= 100 &&
"field2" >= 20 &&
"field3" >= 40
Например, в этом случае сообщение, которое имеет следующие значения (как таблица) будет упомянуто в этом списке. В таблице может быть неограниченное количество или строк.
Если бы было только одно поле с одним значением, я бы сделал что-то вроде этого:
$args = array(
'numberposts' => -1,
'post_type' => 'company',
'meta_query' => array(
array(
'key' => $key_name,
'value' => 0,
'compare' => '>'
)
)
);
Я не могу найти способзапросить эти данные в таблице таким образом? Есть? Был бы очень признателен за некоторую помощь.
РЕДАКТИРОВАТЬ:
Она это поле костюм, который я создал. Я сделал это как репитер. Одна важная вещь: Мне нужно найти компанию, где все условия выполняются на одной строке (строке).
[
{
"key": "group_5dcbf625e861c",
"title": "Product search params (copy)",
"fields": [
{
"key": "field_5dcbf62629ce7",
"label": "product search by param active",
"name": "product_search_by_param_active",
"type": "true_false",
"instructions": "Please choose true to activate this option",
"required": 1,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"message": "If not checked, search engine won't show this section on website",
"default_value": 0,
"ui": 0,
"ui_on_text": "",
"ui_off_text": ""
},
{
"key": "field_5dcbf6262a106",
"label": "product params values",
"name": "product_params_values",
"type": "repeater",
"instructions": "",
"required": 0,
"conditional_logic": [
[
{
"field": "field_5dcbf62629ce7",
"operator": "==",
"value": "1"
}
]
],
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"collapsed": "",
"min": 0,
"max": 0,
"layout": "table",
"button_label": "",
"sub_fields": [
{
"key": "field_5dcbf626543aa",
"label": "param value 1",
"name": "param_value_1",
"type": "text",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"default_value": "",
"placeholder": "",
"prepend": "",
"append": "",
"maxlength": ""
},
{
"key": "field_5dcbf6265478f",
"label": "param value 2",
"name": "param_value_2",
"type": "text",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"default_value": "",
"placeholder": "",
"prepend": "",
"append": "",
"maxlength": ""
},
{
"key": "field_5dcbf62654c14",
"label": "param value 3",
"name": "param_value_3",
"type": "text",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"default_value": "",
"placeholder": "",
"prepend": "",
"append": "",
"maxlength": ""
},
{
"key": "field_5dcbf62654fc1",
"label": "param value 4",
"name": "param_value_4",
"type": "text",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"default_value": "",
"placeholder": "",
"prepend": "",
"append": "",
"maxlength": ""
},
{
"key": "field_5dcbf62655398",
"label": "param value 5",
"name": "param_value_5",
"type": "text",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"default_value": "",
"placeholder": "",
"prepend": "",
"append": "",
"maxlength": ""
}
]
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "product"
}
]
],
"menu_order": 0,
"position": "normal",
"style": "default",
"label_placement": "top",
"instruction_placement": "label",
"hide_on_screen": "",
"active": 1,
"description": ""
}
]
Редактировать 2:
Есть другой способ. Создать поле таблицы. Вот поле:
{
"key": "field_5dcdf5a673fa7",
"label": "product search by param settings",
"name": "product_search_by_param_settings",
"type": "table",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"use_header": 0,
"use_caption": 2
}
И вот как оно сохраняется:
a:5:{s:5:"acftf";a:1:{s:1:"v";s:5:"1.3.9";}s:1:"p";a:2:{s:1:"o";a:1:{s:2:"uh";i:0;}s:2:"ca";s:0:"";}s:1:"c";a:5:{i:0;a:1:{s:1:"p";s:0:"";}i:1;a:1:{s:1:"p";s:0:"";}i:2;a:1:{s:1:"p";s:0:"";}i:3;a:1:{s:1:"p";s:0:"";}i:4;a:1:{s:1:"p";s:0:"";}}s:1:"h";a:5:{i:0;a:1:{s:1:"c";s:0:"";}i:1;a:1:{s:1:"c";s:0:"";}i:2;a:1:{s:1:"c";s:0:"";}i:3;a:1:{s:1:"c";s:0:"";}i:4;a:1:{s:1:"c";s:0:"";}}s:1:"b";a:5:{i:0;a:5:{i:0;a:1:{s:1:"c";s:4:"ffsd";}i:1;a:1:{s:1:"c";s:5:"hjkhk";}i:2;a:1:{s:1:"c";s:4:"hkjh";}i:3;a:1:{s:1:"c";s:6:"hkjhkj";}i:4;a:1:{s:1:"c";s:4:"fdjk";}}i:1;a:5:{i:0;a:1:{s:1:"c";s:6:"hkjhjk";}i:1;a:1:{s:1:"c";s:5:"hkjhk";}i:2;a:1:{s:1:"c";s:6:"hkjhkj";}i:3;a:1:{s:1:"c";s:6:"hkjhkj";}i:4;a:1:{s:1:"c";s:4:"hkhk";}}i:2;a:5:{i:0;a:1:{s:1:"c";s:6:"hkhkjh";}i:1;a:1:{s:1:"c";s:5:"hkjhk";}i:2;a:1:{s:1:"c";s:5:"hkjhk";}i:3;a:1:{s:1:"c";s:6:"hkjhkj";}i:4;a:1:{s:1:"c";s:5:"hkjhk";}}i:3;a:5:{i:0;a:1:{s:1:"c";s:5:"hkjhk";}i:1;a:1:{s:1:"c";s:6:"hkjhkj";}i:2;a:1:{s:1:"c";s:6:"hkjhkj";}i:3;a:1:{s:1:"c";s:6:"hkjhkj";}i:4;a:1:{s:1:"c";s:5:"hkkhk";}}i:4;a:5:{i:0;a:1:{s:1:"c";s:4:"hkhk";}i:1;a:1:{s:1:"c";s:2:"hk";}i:2;a:1:{s:1:"c";s:4:"hkhk";}i:3;a:1:{s:1:"c";s:4:"hkhk";}i:4;a:1:{s:1:"c";s:4:"hkhk";}}}}