制作主题时显示此错误(语法错误,意外标记 "endif",预期文件结尾)
This error shows when making theme (syntax error, unexpected token "endif", expecting end of file)
当我在 wordpress 中创建一个新主题并编码到 function.php 文件时 endif; 变成红色标记并说
(语法错误,意外标记“endif”,预期文件结尾)
function.php的代码:
<?php
function register_nav(){
register_nav_menus(
array(
'header' => 'Header'
)
);
register_nav_menus(
array(
'footer' => 'Footer'
)
);
register_nav_menus(
array(
'404' => '404'
)
);
}
if (! function_exists('setup'));
function setup(){
register_nav();
add_theme_support('post-thumbnails');
add_image_size('team', 475, 475, array('center','center'));
}
endif;
function scripts_header(){
wp_enqueue_style('init', get_stylesheet_uri());
}
function scripts_footer(){
// wp_enqueue_script('init', get_template_directory_uri().'/js/init.js', array('jquery'));
}
add_action('after_setup_theme', 'setup');
add_action('wp_enqueue_scripts', 'scripts_header');
//add_action('wp_footer', 'scripts_footer')
同样发生在其他文件中
index.php 文件代码:
<?php
get_header();
if (have_posts());
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
get_footer();
?>
page.php代码:
<?php
get_header();
if (have_posts());
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
get_footer();
?>
我找了很多资源尝试关键字endwhile; 代码中仍然显示错误。所以最后我想让我们问一下堆栈溢出,所以任何人都可以帮助我解决这个问题。
打字错误。如果 (...);应该是 if (...): (冒号,不是分号)。你正在为你做正确的 while 循环。一种常见的做法是仅在视图中使用此替代语法,并在纯 PHP 文件中坚持使用“正常”语法(使用 {})。
归功于 – Magnus Eriksson
当我在 wordpress 中创建一个新主题并编码到 function.php 文件时 endif; 变成红色标记并说 (语法错误,意外标记“endif”,预期文件结尾) function.php的代码:
<?php
function register_nav(){
register_nav_menus(
array(
'header' => 'Header'
)
);
register_nav_menus(
array(
'footer' => 'Footer'
)
);
register_nav_menus(
array(
'404' => '404'
)
);
}
if (! function_exists('setup'));
function setup(){
register_nav();
add_theme_support('post-thumbnails');
add_image_size('team', 475, 475, array('center','center'));
}
endif;
function scripts_header(){
wp_enqueue_style('init', get_stylesheet_uri());
}
function scripts_footer(){
// wp_enqueue_script('init', get_template_directory_uri().'/js/init.js', array('jquery'));
}
add_action('after_setup_theme', 'setup');
add_action('wp_enqueue_scripts', 'scripts_header');
//add_action('wp_footer', 'scripts_footer')
同样发生在其他文件中 index.php 文件代码:
<?php
get_header();
if (have_posts());
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
get_footer();
?>
page.php代码:
<?php
get_header();
if (have_posts());
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
get_footer();
?>
我找了很多资源尝试关键字endwhile; 代码中仍然显示错误。所以最后我想让我们问一下堆栈溢出,所以任何人都可以帮助我解决这个问题。
打字错误。如果 (...);应该是 if (...): (冒号,不是分号)。你正在为你做正确的 while 循环。一种常见的做法是仅在视图中使用此替代语法,并在纯 PHP 文件中坚持使用“正常”语法(使用 {})。
归功于 – Magnus Eriksson