/** * Activation hook for the plugin. */ function activate() { // Include our important bits $this->includes(); // Create Badges achievement type if (!get_page_by_title('Badges', 'OBJECT', 'achievement-type')) { $badge_post_id = wp_insert_post(array('post_title' => __('Badges', 'badgeos'), 'post_content' => __('Badges badge type', 'badgeos'), 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'achievement-type')); update_post_meta($badge_post_id, '_badgeos_singular_name', __('Badge', 'badgeos')); update_post_meta($badge_post_id, '_badgeos_show_in_menu', true); } // Setup default BadgeOS options $badgeos_settings = ($exists = get_option('badgeos_settings')) ? $exists : array(); if (empty($badgeos_settings)) { $badgeos_settings['minimum_role'] = 'manage_options'; $badgeos_settings['submission_manager_role'] = 'manage_options'; $badgeos_settings['submission_email'] = 'enabled'; $badgeos_settings['debug_mode'] = 'disabled'; update_option('badgeos_settings', $badgeos_settings); } // Setup default Credly options $credly_settings = (array) get_option('credly_settings', array()); if (empty($credly_settings) || !isset($credly_settings['credly_enable'])) { $credly_settings['credly_enable'] = 'true'; $credly_settings['credly_badge_title'] = 'post_title'; $credly_settings['credly_badge_description'] = 'post_body'; $credly_settings['credly_badge_short_description'] = 'post_excerpt'; $credly_settings['credly_badge_criteria'] = ''; $credly_settings['credly_badge_image'] = 'featured_image'; $credly_settings['credly_badge_testimonial'] = 'congratulations_text'; $credly_settings['credly_badge_evidence'] = 'permalink'; $credly_settings['credly_badge_sendemail_add_message'] = 'false'; update_option('credly_settings', $credly_settings); } // Register our post types and flush rewrite rules badgeos_flush_rewrite_rules(); }
/** * Replace all instances of one achievement type with another. * * @since 1.4.0 * * @param string $original_type Original achievement type. * @param string $new_type New achievement type. * @return string New achievement type. */ function badgeos_update_achievement_types($original_type = '', $new_type = '') { // Sanity check to prevent alterating core posts if (empty($original_type) || in_array($original_type, array('post', 'page', 'attachment', 'revision', 'nav_menu_item'))) { return $new_type; } badgeos_update_achievements_achievement_types($original_type, $new_type); badgeos_update_p2p_achievement_types($original_type, $new_type); badgeos_update_earned_meta_achievement_types($original_type, $new_type); badgeos_update_active_meta_achievement_types($original_type, $new_type); badgeos_flush_rewrite_rules(); return $new_type; }