NTar

Woo filter

Feb 21st, 2017
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.50 KB | None | 0 0
  1. <?php
  2.  
  3. /* #### Nieuw filter #### */
  4. /* Filteren op gearchiveerde producten (back-end)*/
  5. add_action( 'restrict_manage_posts', 'filter002_admin_posts_filter_restrict_manage_posts' );
  6.  
  7. function filter002_admin_posts_filter_restrict_manage_posts(){
  8.  
  9. $type = 'product';
  10. if (isset($_GET['post_type'])) {
  11. $type = $_GET['post_type'];
  12. }
  13.  
  14. if ('product' == $type){
  15. $values = array(
  16. 'Zichtbaar' => 'visible',
  17. 'Gearchiveerd' => 'hidden',
  18. );
  19. ?>
  20. <select name="Stock">
  21. <option value=""><?php _e('Archief', 'filter002'); ?></option>
  22. <?php
  23. $current_v = isset($_GET['Stock'])? $_GET['Stock']:'';
  24. foreach ($values as $label => $value) {
  25. printf
  26. (
  27. '<option value="%s"%s>%s</option>',
  28. $value,
  29. $value == $current_v? ' selected="selected"':'',
  30. $label
  31. );
  32. }
  33. ?>
  34. </select>
  35. <?php
  36. }
  37. }
  38.  
  39. add_filter( 'parse_query', 'filter002_posts_filter' );
  40.  
  41. function filter002_posts_filter( $query ){
  42. global $pagenow;
  43. $type = 'product';
  44. if (isset($_GET['post_type'])) {
  45. $type = $_GET['post_type'];
  46. }
  47. if ( 'product' == $type && is_admin() && $pagenow=='edit.php' && isset($_GET['Stock']) && $_GET['Stock'] != '') {
  48. $query->query_vars['meta_key'] = '_visibility';
  49. $query->query_vars['meta_value'] = $_GET['Stock'];
  50. }
  51. }
  52. /* #### Nieuw filter #### */
  53. /* Add In/Out of Stock Filter to Admin *aanvulling op WooCommerce Sort By Stock* */
  54. add_action( 'restrict_manage_posts', 'filter001_admin_posts_filter_restrict_manage_posts' );
  55.  
  56. function filter001_admin_posts_filter_restrict_manage_posts(){
  57.  
  58. $type = 'product';
  59. if (isset($_GET['post_type'])) {
  60. $type = $_GET['post_type'];
  61. }
  62.  
  63. if ('product' == $type){
  64. //change this to the list of values you want to show
  65. //in 'label' => 'value' format
  66. $values = array(
  67. 'Uitverkocht' => 'outofstock',
  68. 'Op voorraad' => 'instock',
  69. );
  70. ?>
  71. <select name="Stock">
  72. <option value=""><?php _e('Voorraad', 'filter001'); ?></option>
  73. <?php
  74. $current_v = isset($_GET['Stock'])? $_GET['Stock']:'';
  75. foreach ($values as $label => $value) {
  76. printf
  77. (
  78. '<option value="%s"%s>%s</option>',
  79. $value,
  80. $value == $current_v? ' selected="selected"':'',
  81. $label
  82. );
  83. }
  84. ?>
  85. </select>
  86. <?php
  87. }
  88. }
  89. add_filter( 'parse_query', 'filter001_posts_filter' );
  90.  
  91. function filter001_posts_filter( $query ){
  92. global $pagenow;
  93. $type = 'product';
  94. if (isset($_GET['post_type'])) {
  95. $type = $_GET['post_type'];
  96. }
  97. if ( 'product' == $type && is_admin() && $pagenow=='edit.php' && isset($_GET['Stock']) && $_GET['Stock'] != '') {
  98. $query->query_vars['meta_key'] = '_stock_status';
  99. $query->query_vars['meta_value'] = $_GET['Stock'];
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment