{"id":15065419,"url":"https://github.com/mehrshaddarzi/simple-import-export","last_synced_at":"2026-02-17T15:02:02.615Z","repository":{"id":251515461,"uuid":"837643576","full_name":"mehrshaddarzi/simple-import-export","owner":"mehrshaddarzi","description":"Simple Process For Big Data in WordPress ( Import/Export )","archived":false,"fork":false,"pushed_at":"2025-09-03T10:30:42.000Z","size":637,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-08T19:49:14.420Z","etag":null,"topics":["woocommerce","wordpress","wordpress-development","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mehrshaddarzi.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-03T15:26:10.000Z","updated_at":"2025-09-03T10:30:46.000Z","dependencies_parsed_at":"2024-10-13T01:21:35.734Z","dependency_job_id":"e2b3a838-3582-468c-8346-3c085c27ac50","html_url":"https://github.com/mehrshaddarzi/simple-import-export","commit_stats":null,"previous_names":["mehrshaddarzi/simple-import-export"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mehrshaddarzi/simple-import-export","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehrshaddarzi%2Fsimple-import-export","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehrshaddarzi%2Fsimple-import-export/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehrshaddarzi%2Fsimple-import-export/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehrshaddarzi%2Fsimple-import-export/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mehrshaddarzi","download_url":"https://codeload.github.com/mehrshaddarzi/simple-import-export/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehrshaddarzi%2Fsimple-import-export/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29548201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["woocommerce","wordpress","wordpress-development","wordpress-plugin"],"created_at":"2024-09-25T00:38:07.674Z","updated_at":"2026-02-17T15:02:02.595Z","avatar_url":"https://github.com/mehrshaddarzi.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Simple Process For Big Data in WordPress ( Import/Export )\n\n\u003cimg src=\"https://raw.githubusercontent.com/mehrshaddarzi/simple-import-export/master/screenshot.jpg\"\u003e\n\n#### Add New Export Method\n\n```php\nadd_filter('simple_import_export_type_lists_at_export', [$this, 'method']);\nadd_filter('simple_prepare_data_for_export', [$this, 'export'], 20, 3);\nadd_action('simple_import_export_form_fields_export', [$this, 'export_custom_form_field']);\n\npublic function method($array)\n{\n    $array['wp_posts'] = __('WordPress Posts', 'simple-import-export');\n    return $array;\n}\n\npublic function export($data, $type, $extension)\n{\n    if ($type != 'wp_posts') {\n        return $data;\n    }\n\n    // Get Data\n    $posts = new \\WP_Query(array(\n        'post_type' =\u003e trim($_REQUEST['post_type']),\n        'post_status' =\u003e 'publish',\n        'posts_per_page' =\u003e '-1',\n        'order' =\u003e 'ASC',\n        'fields' =\u003e 'all',\n        'cache_results' =\u003e false,\n        'no_found_rows' =\u003e true,\n        'update_post_meta_cache' =\u003e false,\n        'update_post_term_cache' =\u003e false,\n        'suppress_filters' =\u003e true\n    ));\n\n    // Setup PHP Array\n    $columns = array(\n        'ID',\n        'Title',\n        'Date'\n    );\n    $data = [$columns];\n\n    // Setup Item\n    foreach ($posts as $post) {\n        $data[] = array(\n            $post-\u003eID,\n            $post-\u003epost_title,\n            $post-\u003epost_date\n        );\n    }\n\n    // Return\n    return $data;\n}\n\npublic function export_custom_form_field()\n{\n    ?\u003e\n    \u003ctr class=\"form-field form-required simple_import_export_d_none\" data-export-type=\"wp_posts\"\u003e\n        \u003cth scope=\"row\"\u003e\n            \u003clabel for=\"post_type\"\u003e\n                \u003cspan\u003e\u003c?php _e('Post Type', 'simple-import-export'); ?\u003e\u003c/span\u003e\n            \u003c/label\u003e\n        \u003c/th\u003e\n        \u003ctd\u003e\n            \u003cselect name=\"post_type\"\u003e\n                \u003c?php\n                $post_types = get_post_types([], 'objects');\n                foreach ($post_types as $post_type) {\n                    ?\u003e\n                    \u003coption value=\"\u003c?php echo $post_type-\u003ename; ?\u003e\"\u003e\n                        \u003c?php echo $post_type-\u003elabels-\u003esingular_name; ?\u003e [\u003c?php echo $post_type-\u003ename; ?\u003e]\n                    \u003c/option\u003e\n                    \u003c?php\n                }\n                ?\u003e\n            \u003c/select\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003c?php\n}\n```\n\n#### Add New Import Method\n\n```php\nadd_filter('simple_import_export_type_lists_at_import', [$this, 'method']);\nadd_filter('simple_import_handle_item', [$this, 'import_row'], 10, 6);\nadd_action('simple_import_export_form_fields_import', [$this, 'import_custom_form_field']);\n\npublic function method($array)\n{\n    $array['wp_posts'] = __('WordPress Posts', 'simple-import-export');\n    return $array;\n}\n\npublic function import_row($return, $row, $key, $type, $extension, $option)\n{\n    if ($type != 'wp_posts') {\n        return $return;\n    }\n\n    if (isset($row[0]) and !empty($row[0]) and is_numeric($row[0])) {\n\n        $post_id = (int)$row[0]; // ID\n        $post = get_post($post_id);\n        if (!is_null($post)) {\n            return new \\WP_Error('item_import_error', 'Invalid Post ID With: ' . $post_id);\n        }\n       \n        $before_post_title = $post-\u003epost_title;\n        $new_title = trim($row[1]); // Title\n        if (!empty($new_title) and $new_title != $before_post_title and $option['input']['post_status'] == $post-\u003epost_status) {\n\n            $arg = array(\n                'ID' =\u003e $post_id,\n                'post_title' =\u003e $new_title\n            );\n            wp_update_post($arg);\n        }\n    }\n    \n    return $return;\n}\n\npublic function import_custom_form_field()\n{\n    ?\u003e\n    \u003ctr class=\"form-field form-required simple_import_export_d_none\" data-import-type=\"wp_posts\"\u003e\n        \u003cth scope=\"row\"\u003e\n            \u003clabel for=\"post_status\"\u003e\n                \u003cspan\u003e\u003c?php _e('Post Status', 'simple-import-export'); ?\u003e\u003c/span\u003e\n            \u003c/label\u003e\n        \u003c/th\u003e\n        \u003ctd\u003e\n            \u003cselect name=\"post_status\"\u003e\n                \u003c?php\n                $post_status_list = get_post_stati([], 'objects');\n                foreach ($post_status_list as $post_status) {\n                    ?\u003e\n                    \u003coption value=\"\u003c?php echo $post_status-\u003ename; ?\u003e\"\u003e\n                        \u003c?php echo $post_status-\u003elabel; ?\u003e [\u003c?php echo $post_status-\u003ename; ?\u003e]\n                    \u003c/option\u003e\n                    \u003c?php\n                }\n                ?\u003e\n            \u003c/select\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003c?php\n}\n```\n\n#### How to Set up New Extension File?\n\nBy default, this plugin support `Excel`and `Json` File For import/export.\n\nIf You want to add new Extension use this Hook:\n\n```php\n// Export File\ndo_action('simple_export_handle_file', $data, $type, $extension);\n\n// Get File Content For Start Import Process\napply_filters('simple_prepare_data_for_import', [], $target_file, $type, $extension);\n```\n\n#### How to disable Import Or Export Form View?\n\n```php\n// Disable Export Form\nadd_filter('simple_import_export_enable_export_system', '__return_false');\n\n// Disable Import Form\nadd_filter('simple_import_export_enable_import_system', '__return_false');\n```\n\n### Add Custom Content to Page\n\n```php\n// Top Page\ndo_action('simple_import_export_page_header');\n\n// Bottom Page\ndo_action('simple_import_export_page_footer');\n```\n\n### Change Admin Menu Option\n\n```php\nadd_filter('simple_import_export_admin_menu', 'wp_admin_custom_menu_name', 10, 1);\nfunction wp_admin_custom_menu_name($args) {\n    return [\n            'menu_title' =\u003e __('Import/Export', 'simple-import-export'),\n            'page_title' =\u003e __('Simple Import / Export', 'simple-import-export'),\n            'capability' =\u003e 'manage_options',\n            'icon' =\u003e 'dashicons-database',\n            'position' =\u003e 90\n   ];\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehrshaddarzi%2Fsimple-import-export","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmehrshaddarzi%2Fsimple-import-export","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehrshaddarzi%2Fsimple-import-export/lists"}