Wordpress 主题开发教程-页面结构与模板
在 wordpress 首页制作中,通过一个简单的 index.php
文件,显示了一个网站首页。
实际上,Wordpress 并不是通过某一个文件来显示内容的,而是一堆模板文件组合显示。
页面结构
网站的风格千姿百态,我选取内容型网站(如简书,知乎等)作为样例。图片或者视频型的网站大都不是这样设计的,但是某些地方又有相通之处
可以将网站划分为以下几个模块:
- Header 网站的头部:显示 logo、导航条、搜索框等
- Content 网站的主体:首页时显示一条条的概要信息,内容页时显示文章具体内容
- Side bar 侧边栏:显示介绍性的内容、推荐信息、广告等
- Footer 页脚:显示 相关链接,主体信息(网站属于谁),备案信息(国内合规网站必备)等
直观表示,就是下图的样子:
实际上,Wordpress 在设计之初,就是按照上面的页面结构来规划的。
页面上每一块内容,都被 Wordpress 划分成了一个个单独的文件,称之为模板文件,通过这些文件的组合显示完整的页面。
- header.php 控制网页头部显示
- sidebar.php 控制网页侧边栏显示
- footer.php 控制网页底部显示
- index.php 页面主要内容显示,不过要注意,index.php并不是严格意义上显示主体内容的,之后会对这个文件扩充解释
这样最大的好处就是模块化,具体来说就是统一管理、统一配置、便于阅读、代码重用。
模板文件
header.php
网站头部信息,在大多数时候,是相对统一和固定的。
头部信息拆解到 header.php
,代码类似下面:
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>模板文件</title><link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
</head>
<body>
<div class="header-view"><a class="logo" href="<?php home_url() ?>"><strong>Logo文字</strong></a><a class="menu" href="#">发现</a><a class="menu" href="#">关注</a><a class="menu" href="#">消息</a><input type="text" class="search" placeholder="搜索">
</div>
其他页面使用该头部信息的地方加上如下代码:
get_header();
获取到的就是 header.php
文件中的完整内容,如果想修改页面上头部信息的显示方式,只用修改header.php
文件即可。找起来容易,改起来方便。
sidebar.php
侧边栏的用途根据网站的定位显示内容千差万别,大部分网站显示文章的归档信息,广告栏(联盟广告、推荐内容,公众号二维码等等),CSDN 还显示了友情链接,备案信息等。
甚至还可以显示双侧 sidebar,中间显示内容,又比如 CSDN。当然,也有很多站点根本没有 sidebar。
Wordpress 默认实现了一个侧边栏,可以通过下面的代码来使用:
<aside id="secondary" class="sidebar widget-area" role="complementary"><?php dynamic_sidebar( 'sidebar-1' ); ?>
</aside><!-- .sidebar .widget-area -->
将上述内容放置到 sidebar.php
文件中,引用的地方加上如下代码:
<?php get_sidebar(); ?>
获取到的是 sidebar.php
文件中完整内容。
footer.php
大部分网站会在网页最下方列出帮助信息,友情链接,版权信息,备案号等。
<div class="footer-view"><a class="menu" href="#">关于我们</a><a class="menu" href="#">友情链接</a><a class="menu" href="#">内容合作</a>
</div>
<div class="footer-footer">
Copyright @ 2021 XXX 备案号000000
</div>
</body>
</html>
在需要引用到 footer.php
的地方,加上如下代码:
<?php get_footer(); ?>
一般,只会在首页引用到 footer,而详情页大概率不会用到。
index.php
作为网站的主体内容,index.php
在不同的场景下,扮演者不同的角色。
因此,往往在index.php
中只有少量内容,而把主体内容交给 single.php
和 page.php
两个文件。
当网站位于首页时,使用index.php
。首页指的是第一次进入站点,展示给用户的网页。
对于详情(内容)页,如果是静态内容,例如关于我们,特别说明等相对不会变化的内容,使用page.php
,如果是正常发布的内容,就是网站中绝大多数内容都用single.php
。
对于 index.php
中内容,可以参考下面的写法:
<?phpget_header();
?><div class="content-area"><main id="main" class="site-main"><?php while (have_posts()) : the_post(); ?><h1 class="article-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1><article class="article-content"><?php the_excerpt(); ?></article><h5><?php the_author(); ?> <?php the_time('Y年n月j日') ?></h5><?php endwhile; ?></main><?php get_sidebar(); ?>
</div><?php get_footer(); ?>
对于内容页 page.php
,可以参考下面的写法:
<?php get_header(); ?>
<section class="container container-page"><div class="content"><?php while (have_posts()) : the_post(); ?><header class="article-header"><h1 class="article-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1></header><article class="article-content"><?php the_content(); ?></article><?php endwhile; ?></div><?php get_sidebar(); ?>
</section>
<?php get_footer(); ?>
对于内容页 single.php
,可以参考下面的写法:
<?php get_header(); ?><section class="container"><div class="content-wrap"><div class="content"><?php while (have_posts()) : the_post(); ?><header class="article-header"><h1 class="article-title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></h1></header><?php tb_xzh_render_body() ?><article class="article-content"><?php _the_ads($name='ads_post_01', $class='asb-post asb-post-01') ?><?php the_content(); ?></article></div></div><?php get_sidebar(); ?>
</section><?php get_footer();
仔细观察这些文件,发现它们的差别很小,甚至有时候,可以让 single.php
和 page.php
一致。
Wordpress 主题开发教程-页面结构与模板相关推荐
- WordPress主题开发教程:一个基主题的基础文件
此为<WordPress开发之主题开发>教程之一 在WordPress主题中一个基础的文件其实只有三个,一个是style.css(样式文件),一个是functions.php(主题函数文件 ...
- 2020年wordpress主题开发视频教程、WP主题WP模板开发视频教程
这个<2020年wordpress主题开发视频教程>是由码不停蹄官网录制的wordpress建站系列教程之一.本套视频教程非常适合wordpress新手用来学习开发wordpress主题模 ...
- wordpress主题制作教程(十):制作文章单页模板single.php
wordpress主题制作教程(十):制作文章单页模板single.php 您现在的位置:阿树工作室->wordpress主题教程->基础教程 2012.7.25 浏览数:39,982 ...
- wordpress 主题开发
https://www.cnblogs.com/welhzh/p/6937243.html wordpress 主题开发 https://yusi123.com/3205.html https://t ...
- 黄聪:《跟黄聪学WordPress主题开发》
又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...
- wordpress主题开发核心知识
课程文件目录:wordpress主题开发核心知识 1.简介 1.1简介.mp4 2. 开发准备 2-1: WordPress开发准备(上)之知识准备.开发工具和运行环境准备.mp4 2-2: Word ...
- WordPress 主题开发:从入门到精通(必读)
本专栏介绍如何开发设计你自己的 WordPress 主题.如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档.本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容, ...
- Ztmao主题猫wordpress主题经典失传版/WP网站模板下载站源码+全局SEO功能设定
Ztmao主题猫wordpress主题经典失传版/WP网站模板下载站源码+全局SEO功能设定,主题猫主要提供 wordpress 网站模板.wordpress 博客主题-wordpress 企业主题下 ...
- wordpress主题开发_了解WordPress主题开发标准的详细信息
wordpress主题开发 WordPress theme development is more than just creating an appealing design. It include ...
最新文章
- verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
- 买卖股票的最佳时机III
- wxpython 调用子窗口_wxpython入门第一步(简单例子)
- 如何设置显示内容而不是显示对象
- sql 查询超时已过期_监视来自SQL Server代理作业的查询超时过期消息
- 构建集中式会话的分析与实践(一)
- 延禧宫有刺客!快把他收了!
- 数码大师2013破解补丁|数码大师2013白金版注册破解补丁下载(附数码大师2013白金版注册码)
- SpringBoot自定义Starter(二十四)
- SharePoint Online 触发的Automate工作流的调试
- 计算机辅助翻译小结,计算机辅助翻译
- Linux系统下安装jdk及环境配置(两种方法)
- python将html转成pdf,python将html转成PDF的示例
- Vue2项目引入mars3d
- 事关微信支付,别成为背锅侠!
- 04.VisionPro工具说明
- 兆骑科创高层次人才引进双创平台,双创服务,赛事路演
- 质安码区块链直推新零售通过线上线下资源整合,实现信息传递的最大化
- 全球名校AI课程库(44)| 慕尼黑工大 · 计算机视觉深度学习进阶课『Advanced Deep Learning for Computer Vision』
- Spring Cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
热门文章
- 杭电oj HDOJ 1018 Big Number(斯特林公式求大数阶乘的位数)
- python file.chunks()的使用
- Unity3D实现闪光灯效果
- 关于跳槽,是我心浮气躁?还是我确实该离开了?
- 蜡烛图精解Candlestick Charting Explained-- 笔记1
- HTML5-day1、2
- ms10-018漏洞利用
- bugku【welcome to bugkuctf】题解
- 计算序列 1 + 2 + 3 + ... 的前N项之和。
- word如何一次性修改中英文及数字为不同字体