So, I'm trying to prepopulate a specific page with HTML/CSS every time the page template is used. I've found this thread that was very helpful with how to do it, and this one was very helpful on clearing up the confusion about how to use the parameter for the function. But I cannot get the first if statement to be read, here is my function:

/* Fill Assessments page with HTML contents */
add_filter('default_content', 'my_editor_content');
function my_editor_content( $content )
    if (is_page_template(ABSPATH.'wp-content/themes/sydney/page-templates/page_assessments.php'))
        $content = 'HELL YEAH';
        $content = file_get_contents(ABSPATH.'wp-content/themes/sydney/assessments.html');
    return $content;

But I can't get the file to read the first if statement. I've also tried:

if (is_page_template('path/page-template.php')

But nothing worked to read that so far. How can I achieve it? Thanks!

  • have you read developer.wordpress.org/reference/functions/is_page_template/… ? in your case this could be: is_page_template( 'page-templates/page_assessments.php' )
    – Michael
    Jun 6, 2018 at 3:31
  • Do you want to add them to an entire page or just a section of that page? Jun 6, 2018 at 3:45
  • @NathanielFlick whole page should be fine. Jun 6, 2018 at 4:31
  • @Michael I think my post references exactly that, I have tried exactly that, without using ABSPATH. I don't know what exactly is wrong here. Jun 6, 2018 at 4:32
  • 1
    this filter default_content is not usefull for you because it is called when you click on "new page" then before the user choose the template. another solution could be JavaScript that add content when the user change the template.
    – mmm
    Jun 6, 2018 at 7:13


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.