function cp_add_project_ajax_handler() { // Nonce check check_admin_referer('add-new-project', 'nonce'); $data = $_REQUEST['data']; $args = array('post_title' => $data['project_name'], 'project_description' => $data['project_description']); if (!empty($data['users'])) { $args['project_users'] = $data['users']; } $project_id = cp_insert_project($args); $permalink = cp_get_project_permalink($project_id); wp_send_json_success(array('redirect' => $permalink)); }
<?php // Add Project if (isset($_POST['cp-add-project']) && isset($_POST['cp-project'])) { //check nonce for security check_admin_referer('cp-add-project'); $add_project = array('post_title' => sanitize_text_field($_POST['cp-project']), 'post_status' => 'publish', 'post_type' => 'cp-projects'); $project_id = wp_insert_post($add_project); update_post_meta($project_id, '_cp-project-description', esc_html($_POST['cp-project-description'])); cp_insert_project($args); } // Edit Project if (isset($_POST['cp-edit-project']) && $_POST['cp-edit-project-id']) { //check nonce for security check_admin_referer('cp-edit-project' . absint($_POST['cp-edit-project-id'])); //verify user has permission to edit projects and post ID is a project CPT if (cp_check_permissions('settings_user_role') && 'cp-projects' === get_post_type(absint($_POST['cp-edit-project-id']))) { // The ID $projectID = absint($_POST['cp-edit-project-id']); $project = array(); $project['ID'] = $projectID; $project['post_title'] = sanitize_text_field($_POST['cp-project']); wp_update_post($project); update_post_meta($projectID, '_cp-project-description', esc_html($_POST['cp-project-description'])); $cp_project_users = !empty($_POST['cp_project_users']) ? array_map('absint', $_POST['cp_project_users']) : array(1); update_post_meta($projectID, '_cp-project-users', $cp_project_users); // Add Activity cp_add_activity(__('updated', 'collabpress'), __('project', 'collabpress'), $current_user->ID, $projectID); do_action('cp_project_edited', $projectID); } }