show(); } function sybat_option_page() { require_once __DIR__ . '/includes/page/Option.php'; $page = new SYBAT\Page\Option(sybat_directory()); $page->show(); } function sybat_directory() { return dirname(__FILE__); } add_action('rest_api_init', 'sybat_register_rest'); function sybat_register_rest() { require_once __DIR__ . '/includes/api/Api.php'; SYBAT\Api\Api::init(); remove_action( 'rest_api_init', 'sybat_register_reset' ); } add_filter('plugin_action_links', 'sybat_add_settings_link', 10, 2); function sybat_add_settings_link($links, $file) { if ($file === plugin_basename(__FILE__)) { require_once __DIR__ . '/includes/page/Option.php'; $page = new SYBAT\Page\Option(sybat_directory()); $url = $page->getUrl(); $settings_link = '' . esc_html__('Settings') . ''; array_unshift($links, $settings_link); } return $links; } add_action('add_meta_boxes', 'sybat_add_meta_box'); function sybat_add_meta_box() { require_once __DIR__ . '/includes/model/Settings.php'; $settings = new SYBAT\Model\Settings(); if ($settings->getUpdateOnSave()) { add_meta_box( 'sybat.meta_box', // ID of the meta box 'Ad Tagging', // Title of the meta box 'sybat_display_meta_box', // Callback function to display the meta box 'post', // Post type where the meta box should appear 'normal', // Context (where the meta box should appear, e.g., 'normal', 'side', or 'advanced') ); } } function sybat_display_meta_box($post) { require_once __DIR__ . '/includes/page/MetaBox.php'; $page = new SYBAT\Page\MetaBox(sybat_directory(), $post); $page->show(); } add_action('save_post', 'sybat_save_meta_box', 10, 2); function sybat_save_meta_box($post_id, $post) { require_once __DIR__ . '/includes/page/MetaBox.php'; $page = new SYBAT\Page\MetaBox(sybat_directory(), $post); $page->save(); } register_uninstall_hook(__FILE__, 'sybat_uninstall'); function sybat_uninstall() { require_once __DIR__ . '/includes/model/Settings.php'; $settings = new SYBAT\Model\Settings(); $settings->delete(); } ?>