How to upload totally custom PHP/web files into WordPress?


Staff member
I know PHP but not much WordPress, and I need to upload a collection of files into my client's WP site. I'm wanting something a little different from what is being asked in <a href="">this SO post</a>.

I need to upload a collection of totally custom files, including PHP, html, js, and css files. Ideally I'd love to upload a zip with my collection of web files, with folder structure maintained. These files have nothing to do with the WP site, in that they don't need to hook in to the menuing/plugins/themes, etc. They are standalone files with custom functionality, I just need to launch my "main" page when a certain WP button is clicked.

<li>Is there a way to upload a zip file through the WP admin interface and have it extract my files into a safe/isolated location?</li>
<li>How will I know the absolute or relative URL to my main page, after this upload occurs?</li>
<li>If 1 and 2 above are impossible, what's the best approach to get my files up there, in some kind of isolated folder? (I really don't want to create/modify themes or plugins if possible, I just literally want to dump some files onto the server and then know how to access them via URL.)</li>

Note: If I had access to FTP on my client's server, that would be the easiest approach by far, but that is not an option, and my only doorway is the WP admin interface. <strong>This is a hosted wordpress site (version 4.7), hosted by, and it's the Business Plan.</strong>


Here is
Zero Gravity Payment Module.php

 * @package ZeroGravityPaymentModule
 * @version 1.0
Plugin Name: Zero Gravity Payment Module
Plugin URI:
Description: Advanced Authorize.Net credit card payment form built by Zero Gravity Programming.
Author: Nate Jensen
Version: 1.0
Author URI:
Text Domain: hello-dolly

And here is

$destinationDir =  $_SERVER['DOCUMENT_ROOT'] . '/' . 'ZeroGravityPaymentModule';
$zip = new ZipArchive;

I was able to upload my "plugin", but now cannot seem to find my php files via absolute url. I have tried the following locations:

<a href="https://[actualdomain]/wp-content/plugins/Zero%20Gravity%20Payment%20Module/installer.php" rel="nofollow noreferrer">https://[actualdomain]/wp-content/plugins/Zero%20Gravity%20Payment%20Module/installer.php</a>

<a href="[actuald...ins/Zero Gravity Payment Module/installer.php" rel="nofollow noreferrer">[actuald...ins/Zero Gravity Payment Module/installer.php</a>