Açıklama Yok

class-woo-custom-emails-per-product.php 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. class Woo_Custom_Emails_Per_Product {
  3. // Define vars
  4. protected $loader;
  5. protected $plugin_slug;
  6. protected $version;
  7. // Class constructor
  8. public function __construct() {
  9. $this->plugin_slug = 'woo_custom_emails_domain';
  10. $this->version = WCE_PLUGIN_VERSION;
  11. $this->woo_custom_emails_load_dependencies();
  12. $this->woo_custom_emails_define_admin_hooks();
  13. }
  14. // Load required files
  15. private function woo_custom_emails_load_dependencies() {
  16. require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-woo-product-data-admin.php';
  17. require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-woo-custom-emails-per-product-loader.php';
  18. $this->loader = new Woo_Custom_Emails_Per_Product_Loader();
  19. }
  20. // Setup Admin Hooks
  21. private function woo_custom_emails_define_admin_hooks() {
  22. $woo_product_data_admin = new Woo_Product_Data_Admin( $this->get_version() );
  23. $this->loader->add_action( 'admin_head-post.php', $woo_product_data_admin, 'wce_custom_admin_style' );
  24. $this->loader->add_action( 'admin_head-post-new.php', $woo_product_data_admin, 'wce_custom_admin_style' );
  25. $this->loader->add_action( 'admin_enqueue_scripts', $woo_product_data_admin, 'wce_enqueue_custom_admin_style' );
  26. $this->loader->add_action( 'woocommerce_product_data_tabs', $woo_product_data_admin, 'add_woo_custom_emails_tab' );
  27. $this->loader->add_action( 'woocommerce_product_data_panels', $woo_product_data_admin, 'add_woo_custom_emails_tab_fields' );
  28. $this->loader->add_action( 'woocommerce_process_product_meta', $woo_product_data_admin, 'save_woo_custom_emails_tab_fields' );
  29. //* Add AJAX Fetch JS to footer
  30. $this->loader->add_action( 'admin_footer', $woo_product_data_admin, 'ajax_wce_fetch_script' );
  31. //* Add AJAX Fetch Function
  32. $this->loader->add_action( 'wp_ajax_wce_data_fetch' , $woo_product_data_admin, 'wce_data_fetch' );
  33. $this->loader->add_action( 'wp_ajax_nopriv_wce_data_fetch', $woo_product_data_admin, 'wce_data_fetch' );
  34. }
  35. // Function to get plugin version
  36. public function get_version() {
  37. return $this->version;
  38. }
  39. // Run everything
  40. public function run() {
  41. $this->loader->run();
  42. }
  43. }