Override index with a custom PHP page

Create a new theme folder next to your current theme and name it,
ThemeName Child Theme

In the new child theme folder create a file names

style.css

In the header of that file add this,

/*
 Theme Name:     My Child Theme
 Theme URI:      http://www.example.com/myTheme
 Description:    your Child Theme
 Author:         your name
 Author URI:     http://www.example.com
 Template:       Main theme name
 Version:        1.0.0
*/

@import url("../Theme/style.css"); /*  Path to main theme folder  */

/* =Theme customization starts here
------------------------------------------------------- */

Now that you have that done zip the file and upload it the same way you always upload a theme then activate it.

Any files that you want in your child theme you can add to the root of the new child theme dir. Basically if the file exist in the main theme root dir template files or functions.php etc. just create the same name of the file in the child theme main directory.

In the child theme create
functions.php

Now you want to add a new version of the home page or any template file that exist. This works different then functions.php. functions.php gets loaded into the site along with your custom functions in the last file we setup. Template files will replace the original file.

Please see this example,

Beyond CSS and Functions modifications, you can also make structural changes to your theme by adjusting the php template files. This should be done with care, but by editing the PHP files you can adjust any part of the theme. Unlike editing the functions.php, where the original theme’s functions are imported automatically, PHP files are edited by replacing the file entirely with a new one. The theme’s original file is ignored and the new one is used instead. The first thing we need to do is replicate the old file before we start to modify it. To do this, simply copy and paste the theme’s original file into your child theme folder ensuring that the filename and location is exactly the same. For example, if we want to modify the the Foxy/includes/navigation.php, then we would copy and paste this file to foxy-child/includes/navigation.php.

So in your case if you wanted to modify the file index.php in the main theme you would copy and paste the file into the child theme and then go to appearance/editor make sure your child theme is selected then click on the file you want to edit. Make your edits and click save. Now your file has been saved and if the main theme gets updated it will not affect your child theme.

At that point if you want to modify which page using your new file go into pages/ select the page you want to edit and on the right side of the screen under Page Attributes click the drop down under Template and select the file you made the edits too.

If you have anymore questions let me know.