当前位置:Gxlcms > PHP教程 > 学习typecho主题开发笔记01,typecho主题笔记01_PHP教程

学习typecho主题开发笔记01,typecho主题笔记01_PHP教程

时间:2021-07-01 10:21:17 帮助过:99人阅读

学习typecho主题开发笔记01,typecho主题笔记01


博客被加速乐坑掉,于是有了学习typecho主题开发的想法,感谢这个机会!


首先是去看主题文件夹下面的'index.php',一个博客的文章页面一般包括下面几个基本元素

  • 作者
  • 发表时间
  • 文章分类 1 php 2 /** 3 * 这是 Typecho 0.9 系统的一套默认皮肤 4 * 5 * @package Typecho Replica Theme 6 * @author Typecho Team 7 * @version 1.2 8 * @link http://typecho.org 9 */ 10 11 if (!defined('__TYPECHO_ROOT_DIR__')) exit; 12 $this->need('header.php'); 13 ?> 14 15 class="col-mb-12 col-8" id="main" role="main"> 16 while($this->next()): ?> 17 class="post" itemscope itemtype="http://schema.org/BlogPosting"> 18

    class="post-title" itemprop="name headline">$this->permalink() ?>">$this->title() ?>

    19
      class="post-meta"> 20 21
    • <time datetime="$this->date('c'); ?>" itemprop="datePublished">$this->date('F j, Y'); ?>time>
    • 22
    • $this->category(','); ?>
    • 23
    • $this->permalink() ?>#comments">$this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
    • 24
    25 class="post-content" itemprop="articleBody"> 26 $this->content('- 阅读剩余部分 -'); ?> 27 28 29 endwhile; ?> 30 31 $this->pageNav('« 前一页', '后一页 »'); ?> 32 33 34 $this->need('sidebar.php'); ?> 35 $this->need('footer.php'); ?

下面是这是index.php的源代码:

 1 php
 2 /**
 3  * 这是 Typecho 0.9 系统的一套默认皮肤
 4  * 
 5  * @package Typecho Replica Theme 
 6  * @author Typecho Team
 7  * @version 1.2
 8  * @link http://typecho.org
 9  */
10 
11 if (!defined('__TYPECHO_ROOT_DIR__')) exit;
12  $this->need('header.php');
13  ?>
14 
15 class="col-mb-12 col-8" id="main" role="main">
16     while($this->next()): ?>
17         class="post" itemscope itemtype="http://schema.org/BlogPosting">
18             

class="post-title" itemprop="name headline">$this->permalink() ?>">$this->title() ?>

19
    class="post-meta"> 20 21
  • <time datetime="$this->date('c'); ?>" itemprop="datePublished">$this->date('F j, Y'); ?>time>
  • 22
  • $this->category(','); ?>
  • 23
  • $this->permalink() ?>#comments">$this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
  • 24
25 class="post-content" itemprop="articleBody"> 26 $this->content('- 阅读剩余部分 -'); ?> 27 28 29 endwhile; ?> 30 31 $this->pageNav('« 前一页', '后一页 »'); ?> 32 33 34 $this->need('sidebar.php'); ?> 35 $this->need('footer.php'); ?>

2-9行是注释,里面包含了主题的各种信息,每行以*开头。

@package 表示主题的名称

@author 表示作者信息

@version 表示主题当前的版本

@link 表示作者的网站链接

include()方法用来包含要用到的php文件,具体用法查阅PHP官方手册include()方法

在12,34,35行都能看到$this->need(),它在typecho里面就和include()的作用是一样的



$this->need('header.php');
$this->need('sidebar.php'); ?>
$this->need('footer.php'); ?>

所以上面的代码就是调用header.php,sidebar.php,footer.php。具体这三个php文件是什么作用的,很简单,顾名思义哦!

然后就是文章页面的主体了

 class="col-mb-12 col-8" id="main" role="main">
     while($this->next()): ?>
         class="post" itemscope itemtype="http://schema.org/BlogPosting">
             

class="post-title" itemprop="name headline">$this->permalink() ?>">$this->title() ?>

    class="post-meta">
  • <time datetime="$this->date('c'); ?>" itemprop="datePublished">$this->date('F j, Y'); ?>time>
  • $this->category(','); ?>
  • $this->permalink() ?>#comments">$this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
class="post-content" itemprop="articleBody"> $this->content('- 阅读剩余部分 -'); ?> endwhile; ?> $this->pageNav('« 前一页', '后一页 »'); ?>

endwhile是什么鬼????为什么我重来没用过....查阅了下资料,原来是一种语法糖:)

文章主体就是从这里开始到结束的

while($this->next()): ?>
endwhile; ?>

:替代了{

;替代了}

详细见文章:PHP中流程控制的替代语法

接着就是一些方法了

$this->permalink() ?>     文章所在的连接
$this->title() ?>     文章标题
$this->author(); ?>     文章作者
$this->author->permalink(); ?>     文章作者地址
$this->date('F j, Y'); ?>     文章的发布日期,格式可参考PHP日期格式
$this->category(','); ?>     文章所在分类
$this->commentsNum('%d Comments'); ?>     文章评论数及连接
$this->content('Continue Reading...'); ?>     文章内容,其中的“Continue Reading…” 是显示摘要时隐藏部分的文字

_e()这是什么方法,专一而精十

看了下wordpress里面的_e()方法,居然是用作翻译的。。。难道typecho还有歪果仁使用(逃

直接打印输出到 html 中的字符串,就用 _e() 。具体看这里

在代码里面还能看见itemprop属性,这是html5新加的,暂时不用管他Q.Q

最后是一个分页的方法

$this->pageNav(); ?>

至此,index.php文件已经被分析一遍了,虽然我没有php基础,但是学习了之后发现不难,嘿嘿!继续努力!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1074252.htmlTechArticle学习typecho主题开发笔记01,typecho主题笔记01 博客被加速乐坑掉,于是有了学习typecho主题开发的想法,感谢这个机会! 首先是去看主题文件夹下...

人气教程排行