Developers, ik heb jullie hulp nodig.
Hieronder heb ik twee Woocommerce filters die niet met elkaar samenwerken. Ik heb de filters geprobeerd te combineren, maar dat lukt vooralsnog niet.
De onderstaande code moet een query uitvoeren, daar ga ik de mist in. Ik weet niet hoe ik de if tags naar de juiste functie refereer en hoe ik de AND tags uit deze uitleg implanteer: https://codex.wordpress.org/Class_Reference/WP_Meta_Query.
De onderstaande code maakt netjes twee dropdowns aan in Wordpress --> Producten, hier zie ik vooralsnog niets fout gaan. De bovenstaande code refereert naar 'Archief', 'filter001' en 'Voorraad', 'filter001'.
Wie o wie kan een tip geven? De volledige twee filters zijn hier te vinden: http://pastebin.com/Q9TgghCu.
Hieronder heb ik twee Woocommerce filters die niet met elkaar samenwerken. Ik heb de filters geprobeerd te combineren, maar dat lukt vooralsnog niet.
De onderstaande code moet een query uitvoeren, daar ga ik de mist in. Ik weet niet hoe ik de if tags naar de juiste functie refereer en hoe ik de AND tags uit deze uitleg implanteer: https://codex.wordpress.org/Class_Reference/WP_Meta_Query.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| add_filter( 'parse_query', 'filter001_posts_filter', 21 ); function filter001_posts_filter( $query ){ global $pagenow; $type = 'product'; if (isset($_GET['post_type'])) { $type = $_GET['post_type']; } if ( 'product' == $type && is_admin() && $pagenow=='edit.php' && isset($_GET['Stock']) && $_GET['Stock'] != '') { $query->query_vars['meta_key'] = '_stock_status'; $query->query_vars['meta_value'] = $_GET['Stock']; } if ( 'product' == $type && is_admin() && $pagenow=='edit.php' && isset($_GET['Stock']) && $_GET['Stock'] != '') { $query->query_vars['meta_key'] = '_visibility'; $query->query_vars['meta_value'] = $_GET['Stock']; } } |
De onderstaande code maakt netjes twee dropdowns aan in Wordpress --> Producten, hier zie ik vooralsnog niets fout gaan. De bovenstaande code refereert naar 'Archief', 'filter001' en 'Voorraad', 'filter001'.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| <?php add_action( 'restrict_manage_posts', 'filter001', 20 ); function filter001(){ $type = 'product'; if (isset($_GET['post_type'])) { $type = $_GET['post_type']; } if ('product' == $type){ $values = array( 'Zichtbaar' => 'visible', 'Gearchiveerd' => 'hidden', ); ?> <select name="Archief"> <option value=""><?php _e('Archief', 'filter001'); ?></option> <?php $current_v = isset($_GET['Stock'])? $_GET['Stock']:''; foreach ($values as $label => $value) { printf ( '<option value="%s"%s>%s</option>', $value, $value == $current_v? ' selected="selected"':'', $label ); } ?> </select> <?php } if ('product' == $type){ $values = array( 'Uitverkocht' => 'outofstock', 'Op voorraad' => 'instock', ); ?> <select name="Voorraad"> <option value=""><?php _e('Voorraad', 'filter001'); ?></option> <?php $current_v = isset($_GET['Stock'])? $_GET['Stock']:''; foreach ($values as $label => $value) { printf ( '<option value="%s"%s>%s</option>', $value, $value == $current_v? ' selected="selected"':'', $label ); } ?> </select> <?php } }; |
Wie o wie kan een tip geven? De volledige twee filters zijn hier te vinden: http://pastebin.com/Q9TgghCu.
An a day keeps the doctor away.