Your structures is completely wrong. Remove the template name from your index.php
and single.php
templates. You only should use those if you create a custom page.php
template to let wordpress know it is a custom page. This should apply to your about-page.php
, which is also wrongly named, it should be page-about.php
. Your index.php
looks about right, but your single.php
is bit of a mess, that is why wordpress skip that template completely and uses index.php
instead.
There is no loop defined in your single.php
. The loop looks something like this:
// Start the Loop.
while ( have_posts() ) {
the_post();
//Content of the loop goes here, in your case
the_content();
}
Go and have a look at the default themes in the WordPress core and see how their templates are put together and how your structures should look like. Working from those themes will guide you in the right direction