目錄
学习typecho主题开发笔记01,typecho主题笔记01
$this->title() ?>" >class="post-title" itemprop="name headline">$this->title() ?>
首頁 後端開發 php教程 学习typecho主题开发笔记01,typecho主题笔记01_PHP教程

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

Jul 12, 2016 am 09:04 AM
typecho 主題 加速 部落格 學習 開發 筆記

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

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


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

  • 作者
  • 发表时间
  • 文章分类学习typecho主题开发笔记01,typecho主题笔记01_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 29 endwhile; ?> 30 31 $this->pageNav('« 前一页', '后一页 »'); ?> 32
    33 34 $this->need('sidebar.php'); ?> 35 $this->need('footer.php'); ?

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

<span> 1</span> <?<span>php
</span><span> 2</span> <span>/*</span><span>*
</span><span> 3</span> <span> * 这是 Typecho 0.9 系统的一套默认皮肤
</span><span> 4</span> <span> * 
</span><span> 5</span> <span> * @package Typecho Replica Theme 
</span><span> 6</span> <span> * @author Typecho Team
</span><span> 7</span> <span> * @version 1.2
</span><span> 8</span> <span> * @link http://typecho.org
</span><span> 9</span>  <span>*/</span>
<span>10</span> 
<span>11</span> <span>if</span> (!<span>defined</span>('__TYPECHO_ROOT_DIR__')) <span>exit</span><span>;
</span><span>12</span>  <span>$this</span>->need('header.php'<span>);
</span><span>13</span>  ?>
<span>14</span> 
<span>15</span> <div <span>class</span>="col-mb-12 col-8" id="main" role="main">
<span>16</span>     <?php <span>while</span>(<span>$this</span>-><span>next</span>()): ?>
<span>17</span>         <article <span>class</span>="post" itemscope itemtype="http://schema.org/BlogPosting">
<span>18</span>             <h2 id="class-span-post-title-itemprop-name-headline-a-itemtype-url-href-php-span-this-span-permalink-php-span-this-span-title-a">class</span>="post-title" itemprop="name headline"><a itemtype="url" href="<?php <span>$this</span>->permalink() ?>"><?php <span>$this</span>->title() ?></a></h2>
<span>19</span>             <ul <span>class</span>="post-meta">
<span>20</span>                 <li itemprop="author" itemscope itemtype="http://schema.org/Person"><?php _e('作者: '); ?><a itemprop="name" href="<?php <span>$this</span>->author->permalink(); ?>" rel="author"><?php <span>$this</span>->author(); ?></a></li>
<span>21</span>                 <li><?php _e('时间: '); ?><<span>time</span> datetime="<?php <span>$this</span>->date('c'); ?>" itemprop="datePublished"><?php <span>$this</span>-><span>date</span>('F j, Y'); ?></<span>time</span>></li>
<span>22</span>                 <li><?php _e('分类: '); ?><?php <span>$this</span>->category(','); ?></li>
<span>23</span>                 <li itemprop="interactionCount"><a itemprop="discussionUrl" href="<?php <span>$this</span>->permalink() ?>#comments"><?php <span>$this</span>->commentsNum('评论', '1 条评论', '%d 条评论'); ?></a></li>
<span>24</span>             </ul>
<span>25</span>             <div <span>class</span>="post-content" itemprop="articleBody">
<span>26</span>                 <?php <span>$this</span>->content('- 阅读剩余部分 -'); ?>
<span>27</span>             </div>
<span>28</span>         </article>
<span>29</span>     <?php <span>endwhile</span>; ?>
<span>30</span> 
<span>31</span>     <?php <span>$this</span>->pageNav('&laquo; 前一页', '后一页 &raquo;'); ?>
<span>32</span> </div><!-- <span>end</span> <span>#</span><span>main--></span>
<span>33</span> 
<span>34</span> <?php <span>$this</span>->need('sidebar.php'); ?>
<span>35</span> <?php <span>$this</span>->need('footer.php'); ?>
登入後複製
<p>2-9行是注释,里面包含了主题的各种信息,每行以*开头。</p>
登入後複製

@package 表示主题的名称

@author 表示作者信息

@version 表示主题当前的版本

@link 表示作者的网站链接

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

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

登入後複製
登入後複製
<span>$this</span>->need('header.php'<span>);
</span><?php <span>$this</span>->need('sidebar.php'); ?>
<?php <span>$this</span>->need('footer.php'); ?>
登入後複製
登入後複製
登入後複製

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

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

 <div <span>class</span>="col-mb-12 col-8" id="main" role="main">
     <?php <span>while</span>(<span>$this</span>-><span>next</span>()): ?>
         <article <span>class</span>="post" itemscope itemtype="http://schema.org/BlogPosting">
             <h2 id="class-span-post-title-itemprop-name-headline-a-itemtype-url-href-php-span-this-span-permalink-php-span-this-span-title-a">class</span>="post-title" itemprop="name headline"><a itemtype="url" href="<?php <span>$this</span>->permalink() ?>"><?php <span>$this</span>->title() ?></a></h2>
             <ul <span>class</span>="post-meta">
                 <li itemprop="author" itemscope itemtype="http://schema.org/Person"><?php _e('作者: '); ?><a itemprop="name" href="<?php <span>$this</span>->author->permalink(); ?>" rel="author"><?php <span>$this</span>->author(); ?></a></li>
                 <li><?php _e('时间: '); ?><<span>time</span> datetime="<?php <span>$this</span>->date('c'); ?>" itemprop="datePublished"><?php <span>$this</span>-><span>date</span>('F j, Y'); ?></<span>time</span>></li>
                 <li><?php _e('分类: '); ?><?php <span>$this</span>->category(','); ?></li>
                 <li itemprop="interactionCount"><a itemprop="discussionUrl" href="<?php <span>$this</span>->permalink() ?>#comments"><?php <span>$this</span>->commentsNum('评论', '1 条评论', '%d 条评论'); ?></a></li>
             </ul>
             <div <span>class</span>="post-content" itemprop="articleBody">
                 <?php <span>$this</span>->content('- 阅读剩余部分 -'); ?>
             </div>
         </article>
     <?php <span>endwhile</span>; ?>
 
     <?php <span>$this</span>->pageNav('&laquo; 前一页', '后一页 &raquo;'); ?>
</div><!-- <span>end</span> <span>#</span><span>main--></span>
登入後複製

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

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

<?php <span>while</span>(<span>$this</span>-><span>next</span>()): ?>
<?php <span>endwhile</span>; ?>
登入後複製

:替代了{

;替代了}

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

接着就是一些方法了

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

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

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

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

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

最后是一个分页的方法

<?php <span>$this</span>->pageNav(); ?>
登入後複製

 

 

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

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1074252.htmlTechArticle学习typecho主题开发笔记01,typecho主题笔记01 博客被加速乐坑掉,于是有了学习typecho主题开发的想法,感谢这个机会! 首先是去看主题文件夹下...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

小紅書筆記怎麼刪除 小紅書筆記怎麼刪除 Mar 21, 2024 pm 08:12 PM

小紅書筆記怎麼刪除?在小紅書APP中是可以編輯筆記的,多數的用戶不知道小紅書筆記如何的刪除,接下來就是小編為用戶帶來的小紅書筆記刪除方法圖文教程,有興趣的用戶快來一起看看吧!小紅書使用教學小紅書筆記怎麼刪除1、先打開小紅書APP進入到主頁面,選擇右下角【我】進入到專區;2、之後在我的專區,點擊下圖所示的筆記頁面,選擇要刪除的筆記;3、進入到筆記頁面,右上角【三個點】;4、最後下方會展開功能欄,點選【刪除】即可完成。

四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

這個AI輔助程式工具在這個AI快速發展的階段,挖掘出了一大批好用的AI輔助程式工具。 AI輔助程式設計工具能夠提升開發效率、提升程式碼品質、降低bug率,是現代軟體開發過程中的重要助手。今天大姚給大家分享4款AI輔助程式工具(而且都支援C#語言),希望對大家有幫助。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款AI編碼助手,可幫助你更快、更省力地編寫程式碼,從而將更多精力集中在問題解決和協作上。 Git

小紅書發布過的筆記不見了怎麼辦?它剛發的筆記搜不到的原因是什麼? 小紅書發布過的筆記不見了怎麼辦?它剛發的筆記搜不到的原因是什麼? Mar 21, 2024 pm 09:30 PM

作為一名小紅書的用戶,我們都曾經遇到過發布過的筆記突然不見了的情況,這無疑讓人感到困惑和擔憂。在這種情況下,我們該怎麼辦呢?本文將圍繞著「小紅書發布過的筆記不見了怎麼辦」這個主題,為你詳細解答。一、小紅書發布過的筆記不見了怎麼辦?首先,不要驚慌。如果你發現筆記不見了,保持冷靜是關鍵,不要慌張。這可能是由於平台系統故障或操作失誤引起的。檢查發布記錄很簡單。只要打開小紅書App,點擊“我”→“發布”→“所有發布”,就可以查看自己的發布記錄。在這裡,你可以輕鬆找到之前發布的筆記。 3.重新發布。如果找到了之

小紅書怎麼在筆記中加入商品連結 小紅書在筆記中加入商品連結教學 小紅書怎麼在筆記中加入商品連結 小紅書在筆記中加入商品連結教學 Mar 12, 2024 am 10:40 AM

小紅書怎麼在筆記中添加商品連結?在小紅書這款app中用戶不僅可以瀏覽各種內容還可以進行購物,所以這款app中關於購物推薦、好物分享的內容是非常多的,如果小夥伴在這款app也是一個達人的話,也可以分享一些購物經驗,找到商家進行合作,在筆記中添加連結之類的,很多人都願意使用這款app購物,因為不僅方便,而且有很多達人會進行一些推薦,可以一邊瀏覽有趣內容,一邊看看有沒有適合自己的衣服商品。一起看看如何在筆記中添加商品連結吧!小紅書筆記添加商品連結方法  在手機桌面上開啟app。  在app首頁點擊

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設計師Devin誕生不足一個月,普林斯頓大學的NLP團隊開發了一個開源AI程式設計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內容,使用自動語法檢查、編輯特定行,以及編寫和執行測試。 (註:以上內容為原始內容微調,但保留了原文中的關鍵訊息,未超過指定字數限制。)SWE-A

學習如何利用Go語言開發行動應用程式 學習如何利用Go語言開發行動應用程式 Mar 28, 2024 pm 10:00 PM

Go語言開發行動應用程式教學隨著行動應用程式市場的不斷蓬勃發展,越來越多的開發者開始探索如何利用Go語言開發行動應用程式。作為一種簡潔高效的程式語言,Go語言在行動應用開發中也展現了強大的潛力。本文將詳細介紹如何利用Go語言開發行動應用程序,並附上具體的程式碼範例,幫助讀者快速入門並開始開發自己的行動應用程式。一、準備工作在開始之前,我們需要準備好開發環境和工具。首

一起學習word根號輸入方法 一起學習word根號輸入方法 Mar 19, 2024 pm 08:52 PM

在word編輯文字內容時,有時會需要輸入公式符號。有的小夥子們不知道在word根號輸入的方法,小面就讓小編跟小夥伴們一起分享下word根號輸入的方法教學。希望對小夥伴們有幫助。首先,開啟電腦上的Word軟體,然後開啟要編輯的文件,並將遊標移到需要插入根號的位置,參考下方的圖片範例。 2.選擇【插入】,再選擇符號裡的【公式】。如下方圖片紅色圈的部分內容所示:3.接著選擇下方的【插入新公式】。如下方圖片紅色圈的部分內容所示:4.選擇【根式】,再選擇適當的根號。如下方圖片紅色圈的部分內容所示:

Android開發最適合的Linux發行版是哪一個? Android開發最適合的Linux發行版是哪一個? Mar 14, 2024 pm 12:30 PM

Android開發是一項繁忙而又令人興奮的工作,而選擇適合的Linux發行版來進行開發則顯得尤為重要。在眾多的Linux發行版中,究竟哪一個最適合Android開發呢?本文將從幾個方面來探討這個問題,並給出具體的程式碼範例。首先,我們來看看目前流行的幾個Linux發行版:Ubuntu、Fedora、Debian、CentOS等,它們都有各自的優點和特點。

See all articles