Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

WordPress WordPress Theme Development WordPress Header and Footer Templates The header.php and footer.php Files

Grant Smith
Grant Smith
194 Points

Parse error: syntax error, unexpected 'function' (T_FUNCTION). Header and Footer not showing?

Hi,

I have followed the video step by step. But the index.php is not rendering the header and footer files?

I turned on debug and this is the error I recieve.

Parse error: syntax error, unexpected 'function' (T_FUNCTION) in /Users/Grant/Documents/Transition Graphics/WEB-DEV-PROJECTS/themedev/wp-content/themes/tg-theme-dev/functions.php on line 3

So I copied and pasted the relevant code from the functions.php work file in case I had made a spelling mistake or something silly.

<? php 

    function tg_theme_styles() {

    wp_enqueue_style( 'foundation_css', get_template_directory_uri() . '/css/foundation.css' );
    //wp_enqueue_style( 'normalize_css', get_template_directory_uri() . '/css/normalize.css' );
    wp_enqueue_style( 'googlefont_css', 'http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' );
    wp_enqueue_style( 'main_css', get_template_directory_uri() . '/style.css' );

}

add_action( 'wp_enqueue_scripts', 'wpt_theme_styles' );

function tg_theme_js() {

    wp_enqueue_script( 'modernizr_js', get_template_directory_uri() . '/js/modernizr.js', '', '', false );  
    wp_enqueue_script( 'foundation_js', get_template_directory_uri() . '/js/foundation.min.js', array('jquery'), '', true );
    wp_enqueue_script( 'main_js', get_template_directory_uri() . '/js/app.js', array('jquery', 'foundation_js'), '', true );        

}

add_action( 'wp_enqueue_scripts', 'wpt_theme_js' );

?>

However I get the exact same error?

Grant Smith
Grant Smith
194 Points

Whilst doing some research as there is no point moving forward with course until this is resolved. It is suggested it may have something to do with my php version?

I am currently on PHP Version 5.6.10.

Didn't know if this would help with the diagnosing of the issue?

Simon Coates
Simon Coates
28,692 Points

does <?php vs <? php make a difference?

should the second parameter in addAction match the function name?

Grant Smith
Grant Smith
194 Points

Hi Simon,

Thanks very much, that sorted it.

1 Answer

Jessica Murillo
Jessica Murillo
9,119 Points

I think that it is because you are calling the wrong function in:

add_action( 'wp_enqueue_scripts', 'wpt_theme_styles' );

it should be

add_action( 'wp_enqueue_scripts', 'tg_theme_styles' );

and this one

add_action( 'wp_enqueue_scripts', 'wpt_theme_js' );

should be

add_action( 'wp_enqueue_scripts', 'tg_theme_js' );

because you named them differently than the instructor.

Let me know if that helped!