介绍

并非所有模板文件都会生成浏览器将渲染的整个内容。某些模板文件由其他模板文件删除,例如comments.phpheader.phpfooter.phpsidebar.phpcontent-{$slug}.php。您将浏览每个模板文件中的每个模板,以了解目的以及如何构建目的。

header.php

header.php文件完全可以完成您的期望。它包含浏览器将为标题呈现的所有代码。这是部分模板文件,因为除非其他模板文件调用 模板标签get_header(),浏览器不会呈现此文件的内容。

无论您使用哪种页面或帖子,网站通常都具有相同的标头。但是,某些站点的变化很小,例如次要导航或不同的横幅图像,具体取决于页面。你的header.php如果您使用的话,文件可以处理所有这些变体 条件标签

几乎所有主题都有一个header.php文件作为该文件的功能和可维护性几乎需要其创建。

以下是二十五个主题中发现的header.php的示例。

<!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js">
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width">
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
    <!--[if lt IE 9]>
    <script src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/html5.js"></script>
    <![endif]-->
    <?php wp_head(); ?>
</head>
 
<body <?php body_class(); ?>>
    <div id="page" class="hfeed site">
        <a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyfifteen' ); ?></a>
        <div id="sidebar" class="sidebar">
            <header id="masthead" class="site-header" role="banner">
                <div class="site-branding">
                    <?php if ( is_front_page() && is_home() ) : ?>
                    <h1 class="site-title">
                        <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
                    </h1>
                    <?php else : ?>
                    <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
                    <?php endif;
                    $description = get_bloginfo( 'description', 'display' );
                    if ( $description || is_customize_preview() ) :
                        echo $description;
                    endif; ?>
                    <button class="secondary-toggle"><?php _e( 'Menu and widgets', 'twentyfifteen' ); ?></button>
                </div><!-- .site-branding -->
            </header><!-- .site-header -->
            <?php get_sidebar(); ?>
        </div><!-- .sidebar -->
        <div id="content" class="site-content">

一开始,某些代码看起来可能会有些艰巨,但是如果我们将其分解,它就会变得足够简单。开幕委员会后,head被建造。模板标签wp_head()拉动我们所有样式和所有出现在头部的脚本,而不是我们在我们的页面上出现的页脚functions.php文件。

接下来,body打开并存在HTML和PHP的混合物。您可以在网站品牌div中看到一些有条件的标签,这些标签根据用户打开的页面进行了调整。然后将现场导航拉入。footer.php文件。

要注意的一个重要模板标签是body_class()在开口中发现body标签。这是一个超级方便的标签,可以通过根据模板文件和其他使用的设置给您的身体类,从而使您的主题造型变得更加容易。

footer.php

很像header.php提交footer.php是大多数主题使用的非常常见的模板文件。代码中的代码footer.php除非另一个模板文件拉入footer.phpget_footer()模板标签。与标题类似,您可以使用 条件标签

开发人员经常会提出 窗口区域 在页脚中,最终用户可以轻松地将不同的内容类型拖入页脚。

这是一个示例footer.php提出二十五个主题的文件。

</div><!-- .site-content -->

<footer id="colophon" class="site-footer" role="contentinfo">

	<div class="site-info">

		<?php
		/**
		 * Fires before the Twenty Fifteen footer text for footer customization.
		 *
		 * @since Twenty Fifteen 1.0
		 */
		do_action( 'twentyfifteen_credits' );
		?>
		<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?></a>

	</div><!-- .site-info -->

</footer><!-- .site-footer -->

</div><!-- .site -->

<?php wp_footer(); ?>

</body>
</html>

404.php

当用户试图访问您网站上不存在的页面时,他们将被直接送达您的index.php除非您创建了404. PHP模板,否则页面。最好有一些信息,即说明页面丢失或不再可用。创建此模板有助于保持主题的视觉方面一致,并为最终用户提供有用的信息。

这是二十五个主题中的404.php模板文件的示例。

<?php get_header(); ?>

<div id="primary" class="content-area">

	<main id="main" class="site-main" role="main">

		<section class="error-404 not-found">

			<header class="page-header">
				<h1 class="page-title"><?php _e( 'Oops! That page can’t be found.', 'twentyfifteen' ); ?></h1>
			</header><!-- .page-header -->

			<div class="page-content">
				<?php _e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentyfifteen' ); ?>
				<?php get_search_form(); ?>
			</div><!-- .page-content -->

		</section><!-- .error-404 -->

	</main><!-- .site-main -->

</div><!-- .content-area -->

<?php get_footer(); ?>

评论

comments.php文件准确地处理您期望的内容,评论。这是一个部分模板,将其拉到其他模板文件中,以显示用户在页面或帖子上留下的注释。几个不同的页面和帖子显示了评论,因此有必要在需要时将一个文件插入。

创建注释所涉及的代码在 评论模板页面

sidebar.php

许多主题都利用侧边栏显示小部件。要使侧边栏在主题中工作,必须注册它,然后必须创建侧边栏的模板文件。您将了解更多有关 注册侧边栏 在后面的一章中。侧边栏文件通常具有有条件的语句,is_active_sidebar( 'sidebar-name' )功能中的功能以确保侧边栏中使用小部件,以便不必要地将空的HTML添加到页面上。

这是二十五个主题中侧栏模板文件的示例。请注意底部的侧边栏使用<?php dynamic_sidebar( 'sidebar-1' ); >。现在,将小部件放入该侧边栏中,将显示在此模板中使用此拉动的页面上。

<?php if ( has_nav_menu( 'primary' ) || has_nav_menu( 'social' ) || is_active_sidebar( 'sidebar-1' ) ) : ?>

	<div id="secondary" class="secondary">

		<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
			<div id="widget-area" class="widget-area" role="complementary">
				<?php dynamic_sidebar( 'sidebar-1' ); ?>
			</div><!-- .widget-area -->
		<?php endif; ?>

	</div><!-- .secondary -->

<?php endif; ?>

内容 – {$ slug} .php

许多主题开发人员将模板文件分解为小咬合大小的作品。他们通常会将包装纸和页面架构元素放在模板文件中page.php, home.php, comments.php等,但是他们将显示这些页面内容的代码放在另一个模板文件中。进入content-{$slug}.php:常见的例子是content-page.php, content-post.php, content-portfolio.php, content-none.php。这些不是WordPress识别并将以某种方式解释的文件名,而是显示特定类型内容的常见方法。

例如,通常在博客文章上显示作者名称,帖子的日期以及帖子类别。您也可能有指向上一篇文章的链接。该信息在常规页面上是不合适的。同样,在投资组合页面上,您可能会拥有一个特色图像或画廊,您希望以与博客文章或页面的特色图像不同的方式显示。

您想使用get_template_part()模板标签 拉入content-{$slug}.php文件。拉你content-page.php您会致电的文件get_template_part( 'content', 'page' );

这是二十五十的例子content-page.php模板文件。

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

	<header class="entry-header">
		<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
	</header><!-- .entry-header -->

	<div class="entry-content">
		<?php the_content(); ?>
		<?php
		wp_link_pages( array(
			'before'      => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfifteen' ) . '</span>',
			'after'       => '</div>',
			'link_before' => '<span>',
			'link_after'  => '</span>',
			'pagelink'    => '<span class="screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>%',
			'separator'   => '<span class="screen-reader-text">, </span>',
		) );
		?>
	</div><!-- .entry-content -->

	<?php edit_post_link( __( 'Edit', 'twentyfifteen' ), '<footer class="entry-footer"><span class="edit-link">', '</span></footer><!-- .entry-footer -->' ); ?>

</article><!-- #post-## -->

By zhuon

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注