我正在尝试使用自定义模板为Wordpress设置自定义静态首页。
我在wp-content / themes / my_theme中创建Landingpage.php, 并在Wordpress admin中选择了LandingPage模型来创建一个新页面。
如果我访问my_website.com/landing-page/, 则我的自定义页面会运行, 并且显示” Hello World!”。出现, 但是如果我将自定义页面设置为静态首页并转到my_website.com/我的” Hello World!”消息不显示。
我的Landingpage.php代码:
<?php /* Template Name: LandingPage */ ?>
<?php get_header(); ?>
<div class="wrap">
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/page/content', 'page' );
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile;
?>
<h1>Hello World!</h1>
</main>
</div>
</div>
<?php get_footer();
任何的想法?
#1
front-page.php优先于你的自定义模板。
当该帖子被视为页面时(例如, 使用其永久链接网址/ landing-page /), 将使用你定义的自定义模板(landingpage.php)。
但是, 如果将同一页面作为首页进行访问, 则会使用静态首页的模板, 并且该模板称为front-page.php(如果存在)。
删除你的front-page.php模板, 或对其进行修改, 使其模仿你在landpagepage.php中所需的行为。
结果是, 对于静态首页, 如果你有front-page.php模板, 则无需分配特定的自定义模板。你可以使用任何页面, 该模板将适用。
#2
你应该将文件命名为front-page.php, wordpress会自动检测到该文件并将其加载。 https://developer.wordpress.org/themes/basics/template-hierarchy/
评论前必须登录!
注册