Lifetime Licenses Are Ending Soon, Get Yours Before They're Gone
 - 
Read More
Lifetime Licenses Are Ending Soon, Get Yours Before They're Gone
 - 
Read More
Pricing

You may have seen some references on our site to annual licensing or renewals.

All plugins currently come with a lifetime license, no matter what the site says.

We’re currently running tests before we make the switch to annual pricing. Check the Discounts tab to purchase our other plugins and get a lifetime license before they’re gone.

I Understand I Have a Lifetime License

Lifetime licenses are only available for a short time!

SPECIAL OFFER 
Save 50% OFF For a Limited Time!
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing lifetime licenses will be unaffected so get in while you can!
  • 90-Day Money-Back Guarantee
  • Fast World Class Support
  • Unlimited Sites
  • Free Lifetime Updates
  • Easy to Use
  • Developer Friendly
Risk free! Cancel at any time with our 90-day guarantee.
"All Import/Export is an awesome suite of tools. It gets me out of some tough challenges."
Eric Karkovack, Freelance Writer
"WP All Import - Versatile, and I have saved so much time with it over the years."
Matt Andrews, Full Stack Web Developer
"@WPAllImport just let me import 3000 products from some arbitrary Excel to WooCommerce w/ a few clicks, including images and categories."
Joris Witteman, Developer / Designer

Wait, Don’t Miss Your Chance for a Lifetime License!

@glitzformals
"This plugin is a game changer for my situation. I’m stunned at how fast and effortless the import process is."
@adatfalo
"I have never experienced such a quick and helpful support experience with any plugin, and by the way, the knowledge of the support colleagues is professional!"
@jessedw44
"Even if you just use this plugin once, it will save you time. If you work on several sites its invaluable. Constantly developed, and continuously supported. Great job."

90-Day Guarantee

Not 100% happy? Let us know and we’ll promptly send you a refund.

Free Updates For Life

Pay once for unlimited installs, even client sites. No renewal fees.

World Class Support

Over 9 years experience with WordPress imports and exports.

Your Last Chance for a Lifetime License!

We are soon moving to yearly licenses only. Once lifetime licenses are gone, they're gone forever.
@adatfalo
"I have never experienced such a quick and helpful support experience with any plugin, and by the way, the knowledge of the support colleagues is professional!"
@jessedw44
"Even if you just use this plugin once, it will save you time. If you work on several sites its invaluable. Constantly developed, and continuously supported. Great job."

90-Day Guarantee

Not 100% happy? Let us know and we’ll promptly send you a refund.

Free Updates For Life

Pay once for unlimited installs, even client sites. No renewal fees.

World Class Support

Over 9 years experience with WordPress imports and exports.
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing licenses will be unaffected.
Read More

Giving Untrusted Users Access to WP All Import

WP All Import doesn't have a dedicated client mode or any way to provide access to non-admins. When you run an import, you are inserting data into the database. WP All Import also allows running code on your site. The Edit Import page allows users to run code in the Function Editor and in every input field. So, if you allow a user access to WP All Import, it wouldn't be that hard for them to figure out how to make themselves an admin.

Only Trusted Users Should Have Access to WP All Import

You should only give access to WP All Import to users that you trust, as they will have complete power over your site. Do not give access to untrusted users.

How We Currently Determine Access

The 'manage_options' capability provides access to WP All Import. That way, only 'administrators' are allowed to access WP All Import’s screens. You can learn more here: manage_options.

If you want other user roles to access WP All Import, you'd have to give them the 'manage_options' capability.

Alternatives to Full Access

There are a couple of solutions to provide non-administrators the ability to run imports without accessing WP All Import directly.

First, you can simply set up a scheduled import and allow the user to control the import file.

Alternatively, you can create a form that allows them to upload a file, and then trigger the import to run using that file.

Again, exercise caution when allowing users to do these things. You are letting people inject data into your database.

Give Access to the File Used in a Scheduled Import

1. Set Up a Recurring Import that Uses FTP, Dropbox, Google Sheets, etc.

In WP All Import, create a brand new import following our instructions here: How to Import Any CSV, XML, or Excel File into WordPress.

In Step 1, you should provide your import file using an FTP source or a direct link from a Google Sheet. Proceed to set up the entire import template and process.

Once done, you can schedule the import to run automatically using either cron jobs (see documentation) or our Automatic Scheduling Service (learn more).

2. Allow the User to Edit the Import File

After setting up the import and scheduling it, you can let users edit the file. For example, you can provide them with the FTP credentials so that they overwrite the file with a new version, or show them how to edit the file in Google Sheets, Dropbox, etc. When the scheduler runs the import again, it will use the latest version of the file.

Create a Form to Upload an Import File, Then Run the Import

1. Create a WordPress Page With a Form on It to Allow Uploading Files.

Using Gravity Forms, create a new form on your WordPress site that allows uploading files. This form will be used by your users to upload the file to import.

Client Mode for WP All Import New Form

You could make this form accessible only to users with a specific user role if you don't want it to be public.

Since external users will upload data to your site, make sure to provide clear instructions on what type of file has to be uploaded along with its format. For example, if you're using CSV, the column headers should be the exact same to avoid issues.

2. The Form Dumps the File to a Specific Folder on the Site.

Set up the form to dump the file on a specific folder on your site, for example, /wp-content/files-to-import/.

Client Mode for WP All Import Custom File Upload

Here's the code used:


add_filter( 'gform_upload_path', 'change_upload_path', 10, 2 );
function change_upload_path( $path_info, $form_id ) {
   $path_info['path'] = '/home/govehetare7297/web/n-the-dark-leci.instawp.xyz/public_html/wp-content/uploads/files-to-import/';
   $path_info['url'] = 'https://n-the-dark-leci.instawp.xyz/wp-content/uploads/files-to-import/';
   return $path_info;
}

3. PHP Script that Serves All the Files in that Folder – It Validates the Column Headers.

Use the following PHP script to serve the file from that folder into WP All Import. This snippet serves the latest file from that folder:


function my_get_latest_file() {
    // Get the latest file from the folder
    $folderPath = 'wp-content/uploads/files-to-import/';
    $files = glob(ABSPATH . $folderPath . '*');
	array_pop($files);
    $latestFile = end($files); // Get the last file in the array

    // Return the full URL to the latest file
    $siteURL = get_site_url();
    $fileURL = $siteURL . str_replace($_SERVER['DOCUMENT_ROOT'], '', $latestFile);
    return $fileURL;
}

This code has to be saved in your child theme's functions.php file or in a plugin like Code Snippets.

4. Put the URL to the Script into the Download from URL Field in the Import.

Once the code is in place, you can call it in the Download a file › From URL field like so:

[my_get_latest_file()]

See:

Client Mode for WP All Import Download a File

5. When a User Submits a Form Entry, Hit the Import Trigger URL.

You should now set up a "processing" cron job so the import can be run automatically by your external users. This would happen automatically using the following code, which will hit the "trigger" URL and start the import whenever a user submits a form entry for form ID 4:


add_action('gform_after_submission_4', 'my_custom_function', 10, 2);
function my_custom_function($entry, $form) {
// Use the trigger URL to run import ID 4
wp_remote_get("http://yourdomain.com/wp-cron.php?import_key=importkey&import_id=4&action=trigger");
}

You need to set up the "processing" cron job every 2 minutes for this to work. We explain more about cron jobs here: Scheduling Imports Using Cron Jobs.

Frequently Asked Question

Will You Ever Allow Non-Administrators to Access WP All Import?

No, unfortunately. Since WP All Import works by injecting data directly into your database, only administrators will be able to use our plugin.

Can I Provide Access to WP All Import Without Making the Users Administrators?

No, that isn't possible. But you can create an import from an external file and give those non-administrator users access to that file. We explain more about this in the alternatives explained above.

Are There Any Security Risks from Using Your Provided Solutions?

The methods that we have provided should be secure, and there shouldn't be any underlying risk aside from the fact that you are letting external people inject data into your site's database. You should exercise extreme caution doing this, and put measures in place to avoid publishing unwanted or wrong data.

Related Docs

Explains how to use WP All Import to import any file into WordPress.

Provides instructions on how to use custom PHP code with WP All Import.

Shows our available hooks and filters to use programmatically.

Lifetime support. Lifetime updates. Pay once.

Packages
Standalone
Import
Pro Package
$249
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Pro Package
$299
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
WooCommerce Import Package
$149
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import Standalone
$99
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Standalone
$169
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Export Standalone
$99
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee

Lifetime support. Lifetime updates. Pay once.

Import
Pro Package
$199
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Pro Package
$299
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Export
Pro Package
$199
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
cross