' . $error_msg . '

'; } echo '

' . __('Lookbook Slider Manager') . '

'.$error_msg.'
'; echo '

Need unlimited number of sliders, slides and hotspots and priority support?

Check Altima Lookbook Pro For WooCommerce!
'; if (isset($_GET['lb_action'])) { if (in_array($_GET['lb_action'], $admin_get_handlers)){ call_user_func($_GET['lb_action']); } }else { echo '
'; echo '
'; //list_sliders(); manage_slides(); lb_settings(); echo '
'; } } function lb_settings() { global $lookbook_settings_fields; ?>

__('No'), '1'=>__('Yes')), array('class'=>'select', 'id'=>'lookbookslider_general_interdict_areas_overlap') ); ?>

';?>
'; } function list_sliders() { global $wpdb; echo '
'; $result = $wpdb->get_results( "SELECT id, name, width, height, status FROM `" . $wpdb->prefix . SLIDER_TABLE . "` ORDER BY name ASC", ARRAY_A); $s = 1; foreach ($result as $slider){ $status = $slider['status'] ? __('Active') : __('Not active'); echo ''; $s++; } echo '
# '.__('Name').' '.__('Slides').' '.__('Slider Size').' '.__('Status').'
'.$s.' ' . $slider['name'] . '
'.__('Edit').'| '.__('View').'| '.__('Get Shortcode').'

[slider_render slider_id="'.$slider['id'].'"]

'.__('copy and paste to the page where you want to embed it').'

'.__('Manage Slides').' '. $slider['width'].'x'.$slider['height'] . ' '.$status.'
'; } function add_slider($slider_id = 1) { global $lookbook_slider_effects, $wpdb; $res = array(); $res = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d", $slider_id ), ARRAY_A ); echo ' '. alfw_form_select('lb_slider_effect[]', $res[0]['slider_effect'], $lookbook_slider_effects, $attrbutes = array("multiple"=>"multiple", "size"=>"10", "id"=>"slider_effect", "class"=>"lb_multisel")) .' '. alfw_form_select('lb_show_navigation', $res[0]['show_navigation'], array('0'=>__('No'), '1'=>__('Yes')), $attrbutes = array( "id"=>"show_navigation")) .' '. alfw_form_select('lb_navigation_on_hover_state_only', $res[0]['navigation_on_hover_state_only'], array('0'=>__('No'), '1'=>__('Yes')), $attrbutes = array( "id"=>"navigation_on_hover_state_only")) .' '. alfw_form_select('lb_show_thumbnails', $res[0]['show_thumbnails'], array('0'=>__('No'), '1'=>__('Yes')), $attrbutes = array( "id"=>"show_thumbnails")) .' '. alfw_form_select('lb_deny_resize_img', $res[0]['deny_resize_img'], array('0'=>__('No'), '1'=>__('Yes')), $attrbutes = array( "id"=>"deny_resize_img")) .' '. alfw_form_select('lb_status', $res[0]['status'], array('0'=>__('Disabled'), '1'=>__('Enabled')), $attrbutes = array( "id"=>"status")) .' '. alfw_form_select('lb_show_slide_caption', $res[0]['show_slide_caption'], array('0'=>__('No'), '1'=>__('Yes')), $attrbutes = array( "id"=>"show_slide_caption")) .' '; } function store_slider() { global $wpdb, $wp_session; $wpdb->show_errors(); $user_data = prepare_data($_POST); /** * Checking if need resize already created images */ $check_res = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d", $_POST['slider_id'] ), ARRAY_A ); if($check_res[0]['id']) { /** * Update */ if ($wpdb->update( $wpdb->prefix . SLIDER_TABLE, $user_data['data'], array('id'=>$_POST['slider_id']), $user_data['format'], array( '%d' ) ) ) { /** * Main picture resize */ if ( $check_res[0]['width'] != $user_data['data']['width'] || $check_res[0]['height'] != $user_data['data']['height']) { packet_resize($_POST['slider_id'], UPLOAD_FOLDER_NAME, array('width'=>'width', 'height'=>'height')); } /** * Thumbnail picture resize */ if ( $check_res[0]['thumb_width'] != $user_data['data']['thumb_width'] || $check_res[0]['thumb_height'] != $user_data['data']['thumb_height']) { packet_resize($_POST['slider_id'], UPLOAD_FOLDER_NAME_THUMB, array('width'=>'thumb_width', 'height'=>'thumb_height')); } $error_statuses[] = __('Information saved'); } else { $error_statuses[] = __('Information not saved'); } }else{ /** * Insert */ if ($wpdb->insert( $wpdb->prefix . SLIDER_TABLE, $user_data['data'], $user_data['format'] ) ){ $error_statuses[] = __('Information saved'); } else { $error_statuses[] = __('Information not saved'); } } $wp_session->s_set('errors', $error_statuses); } function manage_slides($slider_id = 1) { global $wpdb; $upload_dir_info = wp_upload_dir(); $error_msg = prepare_upload_msg(); if (!empty($error_msg)) { $error_msg = '

' . $error_msg . '

'; } $wpdb->show_errors(); $slider_name = $wpdb->get_var( $wpdb->prepare( "SELECT name FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d ", $slider_id ) ); $limit_result = $wpdb->get_results( $wpdb->prepare( "SELECT COUNT(id) AS slides_count FROM `" . $wpdb->prefix . SLIDES_TABLE . "` WHERE slider_id = %d ", $slider_id ), ARRAY_A ); if ($limit_result['0']['slides_count'] < 5) { $add_new_slide = ''.__('Add Slide').''; }else { $add_new_slide = __('Only up to 5 slides could be uploaded in Free Lookbook plugin.'); } echo '
'.$error_msg.'

'.__('Add Lookbook shortcode:') . ' [slider_render slider_id="' . $slider_id . '"]' . __('copy and paste to the page where you want to embed it') . '

' . $add_new_slide . '

'; $result = $wpdb->get_results( $wpdb->prepare( "SELECT id, name, status, picture, order_flag FROM `" . $wpdb->prefix . SLIDES_TABLE . "` WHERE slider_id = %d ORDER BY order_flag ASC", $slider_id ), ARRAY_A ); $s = 1; foreach ($result as $slider){ $status = $slider['status'] ? __('Active') : __('Not active'); echo ''; $s++; } echo '
# '.__('Image').' '.__('Name').' '.__('Order').' '.__('Status').'
'.$s.' ' . $slider['name'] . '
'.__('Edit').'|
'.__('Delete').''; wp_nonce_field( 'del_slides', '_alfw_nonce'); echo '
|
'.$slider['order_flag'].' '.$status.'
'; } function store_slide() { global $url_tail, $wp_session, $wpdb; if ( ! empty( $_POST ) && check_admin_referer( 'store_slide', '_alfw_nonce' ) ) { $file = new alfw_manage_files(); $wpdb->show_errors(); $user_data = prepare_data($_POST); $create_slide = false; if (empty($_POST['slide_id'])) { /** * Insert */ if ($wpdb->insert( $wpdb->prefix . SLIDES_TABLE, $user_data['data'], $user_data['format'] ) ){ $error_statuses[] = __('Information saved'); } else { $error_statuses[] = __('Information not saved'); } $slide_id = $wpdb->insert_id; $create_slide = true; }else { /** * Update */ if ($wpdb->update( $wpdb->prefix . SLIDES_TABLE, $user_data['data'], array('id'=>$_POST['slide_id']), $user_data['format'], array( '%d' ) ) ){ $error_statuses[] = __('Information saved'); } else { $error_statuses[] = __('Information not saved'); } $slide_id = $_POST['slide_id']; } if ($_POST['tmp_picture']) { /** * Get slider options */ $slider_options = $wpdb->get_results( $wpdb->prepare( "SELECT id, deny_resize_img, width, height, thumb_width, thumb_height FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d ", $user_data['data']['slider_id'] ), ARRAY_A ); $upload_dir_info = wp_upload_dir(); $upload_dir_info = $upload_dir_info['basedir']; /** * Store original image */ $file->create_folder_recursive(FULL_UPLOAD_PATH_ORIG . "/" . $slider_options[0]['id'], 0755); //$picture_name = $file->modif_file_name(FULL_UPLOAD_PATH_ORIG . "/" . $slider_options[0]['id'] . "/", $_POST['tmp_picture_name']); $picture_name = $file->copy_file($upload_dir_info . "/" . $_POST['tmp_picture'], FULL_UPLOAD_PATH_ORIG . "/" . $slider_options[0]['id'] . "/", $_POST['tmp_picture_name']); /* if (!copy($upload_dir_info . "/" . $_POST['tmp_picture'], FULL_UPLOAD_PATH_ORIG . "/" . $slider_options[0]['id'] . "/" . $_POST['tmp_picture_name'])){ throw new Exception('File can\'t copyed to destination folder!'); } */ /** * Work with thumb */ $thumb_width = $slider_options[0]['thumb_width']; $thumb_height = $slider_options[0]['thumb_height']; /** * Check orientation */ $thumb_check_result = $file->check_orientation( $thumb_width, $thumb_height, $upload_dir_info . "/" .$_POST['tmp_picture'] ); $force_resize_flag = true; /** * Different orientation */ $need_places_thmb = false; if (!$thumb_check_result['check']){ $force_resize_flag = false; $thumb_height = $thumb_check_result['resize_height']; $thumb_width = $thumb_check_result['resize_width']; $need_places_thmb = true; } $file->resize_upload_img( $upload_dir_info . "/" .$_POST['tmp_picture'], $picture_name, $thumb_height, $thumb_width, FULL_UPLOAD_PATH_THUMB . "/" . $slider_options[0]['id'] . "/", $force_resize_flag ); /** * Centered image on canvas */ if ($need_places_thmb) { $file->center_place_img_to_canvas( $slider_options[0]['thumb_width'], $slider_options[0]['thumb_height'], $thumb_check_result['frame_orient'], FULL_UPLOAD_PATH_THUMB . "/" . $slider_options[0]['id'] . "/" . $picture_name ); } /** * Work with main picture */ /** * Check orientation */ $check_result = $file->check_orientation( $slider_options[0]['width'], $slider_options[0]['height'], $upload_dir_info . "/" .$_POST['tmp_picture'] ); if ($slider_options[0]['deny_resize_img']) { /** * No resize image */ if ($check_result['check']){ $file->copy_file( $upload_dir_info . "/" .$_POST['tmp_picture'], FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/", $picture_name ); }else { /** * however needs correction */ $file->resize_upload_img( $upload_dir_info . "/" .$_POST['tmp_picture'], $picture_name, $check_result['resize_height'], $check_result['resize_width'], FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/", false ); $file->center_place_img_to_canvas( $slider_options[0]['width'], $slider_options[0]['height'], $check_result['frame_orient'], FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/" . $picture_name ); } }else { /** * Needs resize */ if ($check_result['check']) { $file->resize_upload_img( $upload_dir_info . "/" .$_POST['tmp_picture'], $picture_name, $slider_options[0]['height'], $slider_options[0]['width'], FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/", true); }else { $file->resize_upload_img( $upload_dir_info . "/" .$_POST['tmp_picture'], $picture_name, $check_result['resize_height'], $check_result['resize_width'], FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/", false ); $file->center_place_img_to_canvas( $slider_options[0]['width'], $slider_options[0]['height'], $check_result['frame_orient'], FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/" . $picture_name ); } } /** * Update picture field */ $wpdb->update( $wpdb->prefix . SLIDES_TABLE, array('picture' => $picture_name), array('id' => $slide_id), array('%s'), array( '%d' ) ); /** * Delete old picture */ if (!empty($_POST['old_picture']) && $picture_name) { $file->delete_file(FULL_UPLOAD_PATH . "/" . $slider_options[0]['id'] . "/" . $_POST['old_picture']); $file->delete_file(FULL_UPLOAD_PATH_THUMB . "/" . $slider_options[0]['id'] . "/" . $_POST['old_picture']); $file->delete_file(FULL_UPLOAD_PATH_ORIG . "/" . $slider_options[0]['id'] . "/" . $_POST['old_picture']); } /** * Delete tmp picture */ $file->delete_file($upload_dir_info . "/" .$_POST['tmp_picture']); $file->delete_file($upload_dir_info . "/preview_" .$_POST['tmp_picture']); } $wp_session->s_set('errors', $error_statuses); } } function add_slides() { global $wpdb; wp_enqueue_script('annotate'); $page_header = __('Create New Slide'); $slider_options = $wpdb->get_results( $wpdb->prepare( "SELECT id, deny_resize_img, width, height FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d ", $_GET['slider_id'] ), ARRAY_A ); $upload_dir_info = wp_upload_dir(); if (isset($_GET['id'])) { $page_header = __('Edit Slide'); $res = array(); $res = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `" . $wpdb->prefix . SLIDES_TABLE . "` WHERE id = %d", $_GET['id'] ), ARRAY_A ); $required = ''; }else { $required = 'required'; } ?> '; echo '

' . $page_header . '

'; wp_nonce_field( 'store_slide', '_alfw_nonce'); echo '
'. alfw_form_select('lb_status', @$res[0]['status'], array('0'=>__('Disabled'), '1'=>__('Enabled')), $attrbutes = array( "id"=>"lb_status")) .'

' . $image . '
'; } function prepare_upload_msg() { global $wp_session; $error_msg = ''; $error = $wp_session->s_get('errors'); if (!empty($error)) { $error_msg = implode(", ", $error); } $wp_session->s_del('errors'); return $error_msg; } function prepare_data($data, $prefix = 'lb_') { $res_data = array(); $formats = array(); foreach ($data as $key=>$val) { if (preg_match("#^" . $prefix . "(.+)$#su",$key,$matched)){ if (is_array($val)) { $res_data[$matched[1]] = serialize($val); }else { $res_data[$matched[1]] = $val; } $formats[] = (is_numeric($val)) ? "%d" : "%s"; } } return array('data'=>$res_data, 'format'=>$formats); } function del_slider() { global $url_tail, $wp_session, $wpdb; $error_statuses = array(); $file = new alfw_manage_files(); if (isset($_POST['id']) && is_numeric($_POST['id'])) { $wpdb->query( $wpdb->prepare( " DELETE FROM `" .$wpdb->prefix. SLIDES_TABLE . "` WHERE slider_id = %d ", $_POST['id'] ) ); $file->delete_directory(FULL_UPLOAD_PATH . "/" . $_POST['id']); $file->delete_directory(FULL_UPLOAD_PATH_THUMB . "/" . $_POST['id']); $wpdb->query( $wpdb->prepare( " DELETE FROM `" . $wpdb->prefix . SLIDER_TABLE ."` WHERE id = %d ", $_POST['id'] ) ); $error_statuses[] = __('Slider was deleted!'); } $wp_session->s_set('errors', $error_statuses); } function del_slides() { if ( ! empty( $_POST ) && check_admin_referer( 'del_slides', '_alfw_nonce' ) ) { global $url_tail, $wp_session, $wpdb; $error_statuses = array(); $file = new alfw_manage_files(); if (isset($_POST['id']) && is_numeric($_POST['id'])) { $res = array(); $res = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `" . $wpdb->prefix . SLIDES_TABLE . "` WHERE id = %d", $_POST['id'] ), ARRAY_A ); if ($wpdb->query( $wpdb->prepare( " DELETE FROM `" . $wpdb->prefix. SLIDES_TABLE . "` WHERE id = %d ", $_POST['id'] ) )){ $file->delete_file(FULL_UPLOAD_PATH . "/" . $_POST['slider_id'] . "/" . $res[0]['picture']); $file->delete_file(FULL_UPLOAD_PATH_THUMB . "/" . $_POST['slider_id'] . "/" . $res[0]['picture']); $file->delete_file(FULL_UPLOAD_PATH_ORIG . "/" . $_POST['slider_id'] . "/" . $res[0]['picture']); $error_statuses[] = __('Slide was deleted!'); }else { $error_statuses[] = __('Slide was not deleted!'); } } $wp_session->s_set('errors', $error_statuses); } } function check_post_id() { global $wpdb; $res = $wpdb->get_results( $wpdb->prepare( "SELECT ID FROM `" . $wpdb->prefix . "posts" . "` WHERE id = %d AND post_type IN ('page', 'post', 'product', 'product_variation') ", $_POST['post_id'] ), ARRAY_A ); echo (isset($res[0]['ID']) && is_numeric($res[0]['ID'])) ? 1 : __('dosn\'t exist'); exit(); } function view_slider() { global $wpdb; wp_enqueue_script('hotspots'); $slider = $wpdb->get_results( $wpdb->prepare( "SELECT slider.name FROM `" . $wpdb->prefix . SLIDER_TABLE . "` AS slider WHERE slider.id = %d", $_GET['id'] ), ARRAY_A ); echo '

' . __('Slider') . ' [' . $slider[0]['name'] . '] ' . __('preview') . ' Back

'; echo '
'; echo do_shortcode('[slider_render slider_id="'.$_GET['id'].'" admin=true]'); echo '
'; echo '
'; } function ajax_upload() { if ( ! empty( $_POST ) && check_admin_referer( 'store_slide', '_alfw_nonce' ) ) { global $wpdb; $file = new alfw_manage_files(); /** * Max file size and file extensions */ $restrictions = array( 'size' => get_option('wplb_free_max_file_size'), 'ext' => get_option('wplb_free_allow_ext') ); $check_result = alfw_check_slider_image_restriction($_FILES['lb_picture'], $restrictions); if ($check_result['error']) { echo json_encode(array('error'=>true, 'msg'=>$check_result['error_msg'])); }else { /** * Get slider options */ $slider_options = $wpdb->get_results( $wpdb->prepare( "SELECT id, deny_resize_img, width, height, thumb_width, thumb_height FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d ", $_POST['slider_id'] ), ARRAY_A ); $upload_dir_info = wp_upload_dir(); preg_match("#\.(\w+)$#siu", $_FILES['lb_picture']['name'], $matches); $tmp_file_name = time().$matches[0]; $tmp_file_name_preview = 'preview_' . $tmp_file_name; /** * Check orientation */ $check_result = $file->check_orientation( $slider_options[0]['width'], $slider_options[0]['height'], $_FILES['lb_picture']['tmp_name'] ); if ($slider_options[0]['deny_resize_img']) { /** * No resize image */ if ($check_result['check']){ $file->copy_file( $_FILES['lb_picture']['tmp_name'], $upload_dir_info['basedir'] . "/", $tmp_file_name_preview ); }else { /** * however needs correction */ $file->resize_upload_img( $_FILES['lb_picture']['tmp_name'], $tmp_file_name_preview, $check_result['resize_height'], $check_result['resize_width'], $upload_dir_info['basedir'] . "/", false ); $file->center_place_img_to_canvas( $slider_options[0]['width'], $slider_options[0]['height'], $check_result['frame_orient'], $upload_dir_info['basedir'] . "/" . $tmp_file_name_preview ); } }else { /** * Needs resize */ if ($check_result['check']) { $file->resize_upload_img( $_FILES['lb_picture']['tmp_name'], $tmp_file_name_preview, $slider_options[0]['height'], $slider_options[0]['width'], $upload_dir_info['basedir'] . "/", true); }else { $file->resize_upload_img( $_FILES['lb_picture']['tmp_name'], $tmp_file_name_preview, $check_result['resize_height'], $check_result['resize_width'], $upload_dir_info['basedir'] . "/", false ); $file->center_place_img_to_canvas( $slider_options[0]['width'], $slider_options[0]['height'], $check_result['frame_orient'], $upload_dir_info['basedir'] . "/" . $tmp_file_name_preview ); } } /** * Original picture */ if ($picture = $file->upload_file( $_FILES['lb_picture']['tmp_name'], $upload_dir_info['basedir'] . "/", $tmp_file_name ) ){ echo json_encode(array('error'=>false, 'msg'=>array('File uploaded'), 'tmp_file'=>$picture, 'file_name'=>$_FILES['lb_picture']['name'], 'preview_file'=>$tmp_file_name_preview)); }else { echo json_encode(array('error'=>true, 'msg'=>array('File not uploaded'))); } } } exit(); } /** * @param int $slider_id * @param string $picture_folder_name * @param array $dimension_keys - possible keys width, height */ function packet_resize($slider_id, $picture_folder_name, $dimension_keys = array()){ global $wpdb; $file = new alfw_manage_files(); /** * Get slider options */ $slider_options = $wpdb->get_results( $wpdb->prepare( "SELECT id, deny_resize_img, width, height, thumb_width, thumb_height FROM `" . $wpdb->prefix . SLIDER_TABLE . "` WHERE id = %d ", $slider_id ), ARRAY_A ); $upload_dir_info = wp_upload_dir(); $uploads_folder_path = $upload_dir_info['basedir']; $path_to_resize_images = $uploads_folder_path . "/" . $picture_folder_name . "/" . $slider_id . "/"; $pictures = $file->enum_directory_files( FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" ); foreach ($pictures as $picture) { /** * Check orientation */ $check_result = $file->check_orientation( $slider_options[0][$dimension_keys['width']], $slider_options[0][$dimension_keys['height']], FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" . $picture ); if ($slider_options[0]['deny_resize_img']) { /** * No resize image */ if ($check_result['check']) { if ($picture_folder_name == UPLOAD_FOLDER_NAME_THUMB){ $file->resize_upload_img( FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" . $picture, $picture, $slider_options[0][$dimension_keys['height']], $slider_options[0][$dimension_keys['width']], $path_to_resize_images, true, false); }else{ $file->copy_file( FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" . $picture, $path_to_resize_images, $picture, false ); } }else { /** * however needs correction (for diff orientation) */ $file->resize_upload_img( FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" . $picture, $picture, $check_result['resize_height'], $check_result['resize_width'], $path_to_resize_images, false, false ); $file->center_place_img_to_canvas( $slider_options[0][$dimension_keys['width']], $slider_options[0][$dimension_keys['height']], $check_result['frame_orient'], $path_to_resize_images . $picture ); } }else { /** * Needs resize */ if ($check_result['check']) { $file->resize_upload_img( FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" . $picture, $picture, $slider_options[0][$dimension_keys['height']], $slider_options[0][$dimension_keys['width']], $path_to_resize_images, true, false); }else { $file->resize_upload_img( FULL_UPLOAD_PATH_ORIG . "/" . $slider_id . "/" . $picture, $picture, $check_result['resize_height'], $check_result['resize_width'], $path_to_resize_images, false, false ); $file->center_place_img_to_canvas( $slider_options[0][$dimension_keys['width']], $slider_options[0][$dimension_keys['height']], $check_result['frame_orient'], $path_to_resize_images . $picture ); } } } } function store_options() { if ( ! empty( $_POST ) && check_admin_referer( 'store_options', '_alfw_nonce' ) ) { /** * Storing plugin options */ $look_book_options = explode(",", $_POST['page_options']); foreach ($look_book_options as $option){ if (isset($_POST[$option])){ update_option( $option, $_POST[$option] ); } } /** * Storing slider option */ store_slider(); } $site_url = esc_url( home_url( '/' ) ); wp_redirect($site_url . "wp-admin/admin.php?page=lookbook"); exit; } function update2prof_notice() { echo '

Now Professional version of Altima Lookbook for WooCommerce available. Unlimited number of sliders, slides and hotspots, priority support. Visit Altima Lookbook Pro for WooCommerce to purchase.

'; } $update2prof_notice = get_option('update2prof_notice'); if( !function_exists( 'the_field' ) && empty( $update2prof_notice ) ) { add_action('admin_notices', 'update2prof_notice'); } add_action('wp_ajax_wplookbook_free_dismiss_acf_notice', 'wplookbook_free_dismiss_acf_notice'); function wplookbook_free_dismiss_acf_notice() { update_option('update2prof_notice', 1); }