dispatch_hooks(); } public function dispatch_hooks(){ add_action( 'admin_init', array( $this, 'flush_rewrite_rules' ) ); add_action( 'manage_academy_certificate_posts_columns', [ $this, 'manage_columns' ] ); add_action( 'manage_academy_certificate_posts_custom_column', [ $this, 'columns_content' ], 10, 2 ); add_action( 'wp_ajax_academyc_default_certificate', [$this, 'academyc_default_certificate'] ); add_action( 'admin_notices', array( $this, 'academy_certificate_warning_notice' ) ); } public function flush_rewrite_rules() { if ( get_option( 'academyc_required_rewrite_flush' ) ) { delete_option( 'academyc_required_rewrite_flush' ); flush_rewrite_rules(); } } public function manage_columns( $columns ) { $column_date = $columns['date']; unset( $columns['date'] ); $columns['setDefault'] = esc_html__( 'Activated Certificate', 'academy-certificates' ); $columns['background_preview'] = esc_html__( 'Preview', 'academy-certificates' ); $columns['date'] = esc_html( $column_date ); return $columns; } /** * Manage Custom column content * * @param [string] $column_name * @param [int] $post_id * @return void */ public function columns_content( $column_name, $post_id ) { if( 'setDefault' === $column_name ) { $certificate_id = get_option('academyc_default_certificate_id') ; $checked = checked( $post_id, $certificate_id, false ); echo ''; } else if('background_preview' === $column_name){ $image_ids = get_post_meta( $post_id, '_image_ids', true ); if ( is_array( $image_ids ) && count( $image_ids ) > 0 ) { if ( is_numeric( $image_ids[0] ) ) { $image_id = $image_ids[0]; $image_src = wp_get_attachment_url( $image_id ); echo 'certificate'; } } } } public function academyc_default_certificate(){ if(current_user_can('manage_options')){ $ID = (int) (isset($_POST['ID']) ? $_POST['ID'] : ''); update_option('academyc_default_certificate_id', $ID); wp_send_json_success('Saved!'); wp_die(); } wp_send_json_error('Permission Denied'); wp_die(); } public function academy_certificate_warning_notice() { $academy_pro_version = get_option( 'academy_pro_version' ); if ( ! $academy_pro_version ) { $link = 'https://academylms.net/docs/how-to-use-academy-certificate-builder/'; $image = 'banner1'; } else { $link = 'https://academylms.net/docs/how-to-use-academy-certificate-builder/'; $image = 'banner2'; } return printf( '
%s
', $image ); } }