PageRenderTime 54ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/admin/post-types/shop_coupon.php

https://github.com/CammoKing/woocommerce
PHP | 95 lines | 60 code | 13 blank | 22 comment | 9 complexity | aba070e451b5028883a71fa56ae2ef7b MD5 | raw file
Possible License(s): GPL-3.0
  1. <?php
  2. /**
  3. * Admin functions for the shop_coupon post type.
  4. *
  5. * @author WooThemes
  6. * @category Admin
  7. * @package WooCommerce/Admin/Coupons
  8. * @version 1.6.4
  9. */
  10. if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
  11. /**
  12. * Define Columns for the Coupons admin page.
  13. *
  14. * @access public
  15. * @param mixed $columns
  16. * @return array
  17. */
  18. function woocommerce_edit_coupon_columns($columns){
  19. $columns = array();
  20. $columns["cb"] = "<input type=\"checkbox\" />";
  21. $columns["title"] = __( 'Code', 'woocommerce' );
  22. $columns["type"] = __( 'Coupon type', 'woocommerce' );
  23. $columns["amount"] = __( 'Coupon amount', 'woocommerce' );
  24. $columns["description"] = __( 'Description', 'woocommerce' );
  25. $columns["products"] = __( 'Product IDs', 'woocommerce' );
  26. $columns["usage"] = __( 'Usage / Limit', 'woocommerce' );
  27. $columns["expiry_date"] = __( 'Expiry date', 'woocommerce' );
  28. return $columns;
  29. }
  30. add_filter( 'manage_edit-shop_coupon_columns', 'woocommerce_edit_coupon_columns' );
  31. /**
  32. * Values for Columns on the Coupons admin page.
  33. *
  34. * @access public
  35. * @param mixed $column
  36. * @return void
  37. */
  38. function woocommerce_custom_coupon_columns( $column ) {
  39. global $post, $woocommerce;
  40. switch ( $column ) {
  41. case "type" :
  42. echo esc_html( $woocommerce->get_coupon_discount_type( get_post_meta( $post->ID, 'discount_type', true ) ) );
  43. break;
  44. case "amount" :
  45. echo esc_html( get_post_meta( $post->ID, 'coupon_amount', true ) );
  46. break;
  47. case "products" :
  48. $product_ids = get_post_meta( $post->ID, 'product_ids', true );
  49. $product_ids = $product_ids ? array_map( 'absint', explode( ',', $product_ids ) ) : array();
  50. if ( sizeof( $product_ids ) > 0 )
  51. echo esc_html( implode( ', ', $product_ids ) );
  52. else
  53. echo '&ndash;';
  54. break;
  55. case "usage_limit" :
  56. $usage_limit = get_post_meta( $post->ID, 'usage_limit', true );
  57. if ( $usage_limit )
  58. echo esc_html( $usage_limit );
  59. else
  60. echo '&ndash;';
  61. break;
  62. case "usage" :
  63. $usage_count = absint( get_post_meta( $post->ID, 'usage_count', true ) );
  64. $usage_limit = esc_html( get_post_meta($post->ID, 'usage_limit', true) );
  65. if ( $usage_limit )
  66. printf( __( '%s / %s', 'woocommerce' ), $usage_count, $usage_limit );
  67. else
  68. printf( __( '%s / &infin;', 'woocommerce' ), $usage_count );
  69. break;
  70. case "expiry_date" :
  71. $expiry_date = get_post_meta($post->ID, 'expiry_date', true);
  72. if ( $expiry_date )
  73. echo esc_html( date_i18n( 'F j, Y', strtotime( $expiry_date ) ) );
  74. else
  75. echo '&ndash;';
  76. break;
  77. case "description" :
  78. echo wp_kses_post( $post->post_excerpt );
  79. break;
  80. }
  81. }
  82. add_action( 'manage_shop_coupon_posts_custom_column', 'woocommerce_custom_coupon_columns', 2 );