Table of Contents
学习typecho主题开发笔记01,typecho主题笔记01
Home Backend Development PHP Tutorial Learn typecho theme development notes 01, typecho theme notes 01_PHP tutorial

Learn typecho theme development notes 01, typecho theme notes 01_PHP tutorial

Jul 12, 2016 am 09:04 AM
typecho theme accelerate blog study develop of notes

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

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


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

  • 作者
  • 发表时间
  • 文章分类Learn typecho theme development notes 01, typecho theme notes 01_PHP tutorial 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'); ?

The following is the source code of 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 <span>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'); ?>
Copy after login
<p>2-9行是注释,里面包含了主题的各种信息,每行以*开头。</p>
Copy after login

@package represents the name of the theme

@author indicates author information

@version indicates the current version of the theme

@link Indicates the author’s website link

include() method is used to include the php files to be used. For specific usage, please refer to the PHP official manual include() method

can be seen on lines 12, 34, and 35$this- >need(), it has the same function as include() in typecho

Copy after login
Copy after login
<span>$this</span>->need('header.php'<span>);
</span><?php <span>$this</span>->need('sidebar.php'); ?>
<?php <span>$this</span>->need('footer.php'); ?>
Copy after login
Copy after login
Copy after login

So the above code calls header.php, sidebar.php, footer.php. What are the specific functions of these three php files? It’s very simple, just as the name suggests!

Then there is the main body of the article page

 <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 <span>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>
Copy after login

What the hell is

endwhile???? Why haven’t I used it before... After checking the information, turns out to be a kind of syntactic sugar:)

The main body of the article starts and ends here

<?php <span>while</span>(<span>$this</span>-><span>next</span>()): ?>
<?php <span>endwhile</span>; ?>
Copy after login

: Replaces {

;replaced}

For details, see the article:Alternative syntax for flow control in PHP

Then there are some methods

<?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; 是显示摘要时隐藏部分的文字
Copy after login

_e() What is this method? Specialized and precise

I looked at the _e() method in WordPress and found that it is actually used for translation. . . Does typecho still have crooked nuts to use (escape

To directly print the string output to html, use _e(). See here for details

You can also see the itemprop attribute in the code. This is new to HTML5. Don’t worry about it for the time being. Q.Q

The last is a paging method

<?php <span>$this</span>->pageNav(); ?>
Copy after login

At this point, the index.php file has been analyzed. Although I have no PHP foundation, I found it is not difficult after learning, hehe! Keep up the hard work!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1074252.htmlTechArticleLearning typecho theme development notes 01, typecho theme notes 01 The blog was cheated by Accelerator, so I came up with learning typecho theme Thanks for the development idea, thank you for this opportunity! First of all, go to the theme folder...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to delete Xiaohongshu notes How to delete Xiaohongshu notes Mar 21, 2024 pm 08:12 PM

How to delete Xiaohongshu notes? Notes can be edited in the Xiaohongshu APP. Most users don’t know how to delete Xiaohongshu notes. Next, the editor brings users pictures and texts on how to delete Xiaohongshu notes. Tutorial, interested users come and take a look! Xiaohongshu usage tutorial How to delete Xiaohongshu notes 1. First open the Xiaohongshu APP and enter the main page, select [Me] in the lower right corner to enter the special area; 2. Then in the My area, click on the note page shown in the picture below , select the note you want to delete; 3. Enter the note page, click [three dots] in the upper right corner; 4. Finally, the function bar will expand at the bottom, click [Delete] to complete.

Four recommended AI-assisted programming tools Four recommended AI-assisted programming tools Apr 22, 2024 pm 05:34 PM

This AI-assisted programming tool has unearthed a large number of useful AI-assisted programming tools in this stage of rapid AI development. AI-assisted programming tools can improve development efficiency, improve code quality, and reduce bug rates. They are important assistants in the modern software development process. Today Dayao will share with you 4 AI-assisted programming tools (and all support C# language). I hope it will be helpful to everyone. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot is an AI coding assistant that helps you write code faster and with less effort, so you can focus more on problem solving and collaboration. Git

What should I do if the notes I posted on Xiaohongshu are missing? What's the reason why the notes it just sent can't be found? What should I do if the notes I posted on Xiaohongshu are missing? What's the reason why the notes it just sent can't be found? Mar 21, 2024 pm 09:30 PM

As a Xiaohongshu user, we have all encountered the situation where published notes suddenly disappeared, which is undoubtedly confusing and worrying. In this case, what should we do? This article will focus on the topic of &quot;What to do if the notes published by Xiaohongshu are missing&quot; and give you a detailed answer. 1. What should I do if the notes published by Xiaohongshu are missing? First, don't panic. If you find that your notes are missing, staying calm is key and don't panic. This may be caused by platform system failure or operational errors. Checking release records is easy. Just open the Xiaohongshu App and click &quot;Me&quot; → &quot;Publish&quot; → &quot;All Publications&quot; to view your own publishing records. Here you can easily find previously published notes. 3.Repost. If found

How to add product links in notes in Xiaohongshu Tutorial on adding product links in notes in Xiaohongshu How to add product links in notes in Xiaohongshu Tutorial on adding product links in notes in Xiaohongshu Mar 12, 2024 am 10:40 AM

How to add product links in notes in Xiaohongshu? In the Xiaohongshu app, users can not only browse various contents but also shop, so there is a lot of content about shopping recommendations and good product sharing in this app. If If you are an expert on this app, you can also share some shopping experiences, find merchants for cooperation, add links in notes, etc. Many people are willing to use this app for shopping, because it is not only convenient, but also has many Experts will make some recommendations. You can browse interesting content and see if there are any clothing products that suit you. Let’s take a look at how to add product links to notes! How to add product links to Xiaohongshu Notes Open the app on the desktop of your mobile phone. Click on the app homepage

Which AI programmer is the best? Explore the potential of Devin, Tongyi Lingma and SWE-agent Which AI programmer is the best? Explore the potential of Devin, Tongyi Lingma and SWE-agent Apr 07, 2024 am 09:10 AM

On March 3, 2022, less than a month after the birth of the world's first AI programmer Devin, the NLP team of Princeton University developed an open source AI programmer SWE-agent. It leverages the GPT-4 model to automatically resolve issues in GitHub repositories. SWE-agent's performance on the SWE-bench test set is similar to Devin, taking an average of 93 seconds and solving 12.29% of the problems. By interacting with a dedicated terminal, SWE-agent can open and search file contents, use automatic syntax checking, edit specific lines, and write and execute tests. (Note: The above content is a slight adjustment of the original content, but the key information in the original text is retained and does not exceed the specified word limit.) SWE-A

Learn how to develop mobile applications using Go language Learn how to develop mobile applications using Go language Mar 28, 2024 pm 10:00 PM

Go language development mobile application tutorial As the mobile application market continues to boom, more and more developers are beginning to explore how to use Go language to develop mobile applications. As a simple and efficient programming language, Go language has also shown strong potential in mobile application development. This article will introduce in detail how to use Go language to develop mobile applications, and attach specific code examples to help readers get started quickly and start developing their own mobile applications. 1. Preparation Before starting, we need to prepare the development environment and tools. head

Let's learn how to input the root number in Word together Let's learn how to input the root number in Word together Mar 19, 2024 pm 08:52 PM

When editing text content in Word, you sometimes need to enter formula symbols. Some guys don’t know how to input the root number in Word, so Xiaomian asked me to share with my friends a tutorial on how to input the root number in Word. Hope it helps my friends. First, open the Word software on your computer, then open the file you want to edit, and move the cursor to the location where you need to insert the root sign, refer to the picture example below. 2. Select [Insert], and then select [Formula] in the symbol. As shown in the red circle in the picture below: 3. Then select [Insert New Formula] below. As shown in the red circle in the picture below: 4. Select [Radical Formula], and then select the appropriate root sign. As shown in the red circle in the picture below:

Which Linux distribution is best for Android development? Which Linux distribution is best for Android development? Mar 14, 2024 pm 12:30 PM

Android development is a busy and exciting job, and choosing a suitable Linux distribution for development is particularly important. Among the many Linux distributions, which one is most suitable for Android development? This article will explore this issue from several aspects and give specific code examples. First, let’s take a look at several currently popular Linux distributions: Ubuntu, Fedora, Debian, CentOS, etc. They all have their own advantages and characteristics.

See all articles