create_faq_post_type(); } public function plugin_action_links($links){ $settings_link = ''. __('Settings','') .''; array_unshift($links, $settings_link); return $links; } public function metabox_section(){ $this->add_faq_settings_metabox(); $this->display_shortcode(); $this->add_faq_metabox(); } // create faq custom post type public function create_faq_post_type(){ $faq_labels = array( 'name' => ('FAQ'), 'singular_name' => ('FAQ'), 'add_new' => __('Add New', 'rc_faq'), 'all_items' => __('All FAQ', 'rc_faq'), 'add_new_item' => __('Add New FAQ', 'rc_faq'), 'edit_item' => __('Edit FAQ', 'rc_faq'), 'new_item' => __('New FAQ', 'rc_faq'), 'view_item' => __('Vew FAQ', 'rc_faq'), 'search_items' => __('Search FAQ', 'rc_faq'), 'not_found' => __('No FAQ Found', 'rc_faq'), 'not_found_in_trash' => __('No FAQ Found in Trash ', 'rc_faq'), 'parent_item_colon' => 'parent item', 'menu_name' => __('FAQs', 'rc_faq'), 'exclude_from_search' => true ); $faq_args = array( 'labels' => $faq_labels, 'public' => true, 'publicly_queryable' => true, 'has_archive' => true, 'rewrite' => true, 'show_in_menu' => true, 'query_var' => true, 'capability_type' => 'post', 'has_archive' => false, 'hierarchical' => false, 'menu_icon' => 'dashicons-portfolio', 'supports' => array( 'title', ), 'menu_position' => 4, 'exclude_from_search' => false, ); register_post_type( 'faq', $faq_args); } public function add_faq_settings_metabox(){ add_meta_box('faq_settings', 'Display Color Settings', array($this,'faq_color_settings_metabox_html'), 'faq', 'side'); } public function faq_color_settings_metabox_html($post){ if(!empty($post)){ $post_id = get_the_ID(); $get_item_faq_settings = get_post_meta( $post_id, FAQ_SETTINGS_META_KEY,true); $item_faq_settings = isset($get_item_faq_settings)? $get_item_faq_settings:''; $faq_settings_enable_option = get_post_meta( $post_id,FAQ_SETTINGS_ENABLE_OPTION ,true); $general_settings = get_option('faq_settings'); $use_post_settings = isset($faq_settings_enable_option['use_post_settings']) ? $faq_settings_enable_option['use_post_settings'] : ''; if(empty($general_settings)){ $new_obj = new THFAQ_Admin_Manage_Settings; $fieldset = $new_obj->get_manage_settings_fields(); $general_settings = array(); $general_settings['title_color'] = $fieldset['title_color']['value']; $general_settings['title_bg_color'] = $fieldset['title_bg_color']['value']; $general_settings['content_color'] = $fieldset['content_color']['value']; $general_settings['content_bg_color'] = $fieldset['content_bg_color']['value']; } $title_color = isset($item_faq_settings['title_color'])?$item_faq_settings['title_color']:$general_settings['title_color']; $title_bg_color = isset($item_faq_settings['title_bg_color'])?$item_faq_settings['title_bg_color']:$general_settings['title_bg_color']; $content_color = isset($item_faq_settings['content_color'])?$item_faq_settings['content_color']:$general_settings['content_color']; $content_bg_color = isset($item_faq_settings['content_bg_color'])? $item_faq_settings['content_bg_color']:$content_bg_color = $general_settings['content_bg_color']; $checked=''; if($use_post_settings == 'yes'){ $checked='checked'; }elseif($use_post_settings == 'no' or $use_post_settings==''){ $checked=''; } ?>
Override General Settings
ID, FAQ_META_KEY, true); $faq_data = $faq_data ? $faq_data : ''; if($faq_data != ''){ foreach($faq_data as $faq_single_data){ if(empty($faq_single_data)){ unset($faq_single_data); } $faq_title = $faq_single_data['faq_title']; $faq_content = $faq_single_data['faq_content']; $faq_form_html .= $this->get_single_faq_input_boxes($faq_title, $faq_content, ''); } } else { $faq_form_html = $this->get_single_faq_input_boxes('', '', 'thfaq_active'); } ?>
= $count_title){ $count = $count_content; }elseif($count_title >= $count_content){ $count = $count_title; } if($count){ for($i=0; $i < $count; $i++){ $faq_title = isset($_POST['faq_title'][$i]) ? $_POST['faq_title'][$i] : ""; $faq_title = htmlspecialchars($faq_title); $faq_content = isset($_POST['faq_content'][$i]) ? $_POST['faq_content'][$i] : ""; $faq_content= htmlspecialchars($faq_content); if($faq_title or $faq_content){ $faq_Array[] = array( 'faq_title' => $faq_title, 'faq_content' => $faq_content, ); } } $faq_Array = array_filter($faq_Array); } THFAQ::write_log($faq_Array); if(!empty($faq_Array)){ $update= update_post_meta( $post_id,FAQ_META_KEY,$faq_Array); } else { delete_post_meta($post_id, FAQ_META_KEY); } if($title_color or $title_bg_color or $content_color or $content_bg_color){ $faq_settings_array = array( 'title_bg_color' => $title_bg_color, 'title_color' => $title_color, 'content_bg_color' => $content_bg_color, 'content_color' => $content_color ); } if(!empty($faq_settings_array) and $use_post_settings == 'yes'){ update_post_meta($post_id, FAQ_SETTINGS_META_KEY, $faq_settings_array); } if($use_post_settings){ $faq_settings_enable_option = array( 'use_post_settings' => $use_post_settings, ); update_post_meta($post_id, FAQ_SETTINGS_ENABLE_OPTION, $faq_settings_enable_option); } } } } public function add_custom_column($columns){ $posttype = get_post_type(); $colum_title = 'Shortcode'; $next_column_name = 'date'; foreach($columns as $key => $value){ if($key == $next_column_name && $posttype == 'faq'){ $post_columns[$colum_title] = $colum_title; } $post_columns[$key] = $value; } return $post_columns; } public function add_custom_column_data( $post_columns, $postID){ $posttype = get_post_type(); if($post_columns === 'Shortcode' && $posttype == 'faq'){?>