목차
学习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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 메모를 삭제하는 방법 Mar 21, 2024 pm 08:12 PM

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 앱에서 메모를 편집할 수 있습니다. 다음으로 편집기는 Xiaohongshu 메모 삭제 방법에 대한 사용자 사진과 텍스트를 가져옵니다. 보세요! Xiaohongshu 사용 튜토리얼 Xiaohongshu 메모 삭제 방법 1. 먼저 Xiaohongshu 앱을 열고 메인 페이지로 들어가서 오른쪽 하단에 있는 [Me]를 선택하여 특별 영역으로 들어갑니다. 2. 그런 다음 내 영역에서 다음과 같이 메모 페이지를 클릭합니다. 3. 노트 페이지에 들어가서 오른쪽 상단에 있는 [점 3개]를 클릭합니다. 4. 마지막으로 기능 표시줄이 하단에 확장되고 [삭제]를 클릭하여 완료합니다.

권장되는 AI 지원 프로그래밍 도구 4가지 권장되는 AI 지원 프로그래밍 도구 4가지 Apr 22, 2024 pm 05:34 PM

이 AI 지원 프로그래밍 도구는 급속한 AI 개발 단계에서 유용한 AI 지원 프로그래밍 도구를 많이 발굴했습니다. AI 지원 프로그래밍 도구는 개발 효율성을 높이고, 코드 품질을 향상시키며, 버그 발생률을 줄일 수 있습니다. 이는 현대 소프트웨어 개발 프로세스에서 중요한 보조자입니다. 오늘 Dayao는 4가지 AI 지원 프로그래밍 도구(모두 C# 언어 지원)를 공유하겠습니다. 이 도구가 모든 사람에게 도움이 되기를 바랍니다. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot은 더 빠르고 적은 노력으로 코드를 작성하는 데 도움이 되는 AI 코딩 도우미이므로 문제 해결과 협업에 더 집중할 수 있습니다. 힘내

Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Mar 21, 2024 pm 09:30 PM

Xiaohongshu 사용자로서 우리 모두는 게시된 노트가 갑자기 사라지는 상황을 경험해 본 적이 있을 것입니다. 이는 의심할 여지 없이 혼란스럽고 걱정스러운 일입니다. 이런 경우, 우리는 어떻게 해야 합니까? 이번 글에서는 "샤오홍슈에서 발행한 노트가 누락된 경우 어떻게 해야 할까요?"라는 주제를 중심으로 자세한 답변을 드리겠습니다. 1. Xiaohongshu에서 발행한 노트가 누락된 경우 어떻게 해야 합니까? 첫째, 당황하지 마십시오. 메모가 누락된 경우 침착함을 유지하는 것이 중요하며 당황하지 마십시오. 이는 플랫폼 시스템 장애 또는 운영 오류로 인해 발생할 수 있습니다. 출시 기록을 확인하는 것은 쉽습니다. Xiaohongshu 앱을 열고 "나" → "게시" → "모든 출판물"을 클릭하면 자신의 출판 기록을 볼 수 있습니다. 여기에서는 이전에 게시된 메모를 쉽게 찾을 수 있습니다. 3.다시 게시합니다. 발견된 경우

Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Mar 12, 2024 am 10:40 AM

Xiaohongshu 노트에 제품 링크를 추가하는 방법 Xiaohongshu 앱에서는 사용자가 다양한 콘텐츠를 탐색할 수 있을 뿐만 아니라 쇼핑도 할 수 있기 때문에 이 앱에는 쇼핑 추천 및 좋은 제품 공유에 대한 콘텐츠가 많이 있습니다. 이 앱에서는 일부 쇼핑 경험을 공유하고, 협력할 판매자를 찾고, 메모에 링크를 추가하는 등의 작업도 할 수 있습니다. 이 앱은 편리할 뿐만 아니라 많은 전문가가 만들 수 있기 때문에 많은 사람들이 쇼핑에 기꺼이 이 앱을 사용합니다. 흥미로운 콘텐츠를 탐색하고 자신에게 맞는 의류 제품이 있는지 확인할 수 있습니다. 노트에 제품 링크를 추가하는 방법을 살펴보겠습니다. 샤오홍슈 노트에 제품 링크를 추가하는 방법 휴대폰 데스크톱에서 앱을 엽니다. 앱 홈페이지를 클릭하세요

최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요. 최고의 AI 프로그래머는 누구일까요? Devin, Tongyi Lingma 및 SWE 에이전트의 잠재력을 살펴보세요. Apr 07, 2024 am 09:10 AM

세계 최초의 AI 프로그래머 데빈(Devin)이 태어난 지 한 달도 채 안 된 2022년 3월 3일, 프린스턴 대학의 NLP팀은 오픈소스 AI 프로그래머 SWE-에이전트를 개발했습니다. GPT-4 모델을 활용하여 GitHub 리포지토리의 문제를 자동으로 해결합니다. SWE-bench 테스트 세트에서 SWE-agent의 성능은 Devin과 유사하며 평균 93초가 걸리고 문제의 12.29%를 해결합니다. SWE-agent는 전용 터미널과 상호 작용하여 파일 내용을 열고 검색하고, 자동 구문 검사를 사용하고, 특정 줄을 편집하고, 테스트를 작성 및 실행할 수 있습니다. (참고: 위 내용은 원문 내용을 약간 조정한 것이지만 원문의 핵심 정보는 그대로 유지되며 지정된 단어 수 제한을 초과하지 않습니다.) SWE-A

Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요. Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 알아보세요. Mar 28, 2024 pm 10:00 PM

Go 언어 개발 모바일 애플리케이션 튜토리얼 모바일 애플리케이션 시장이 지속적으로 성장함에 따라 점점 더 많은 개발자가 Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 모색하기 시작했습니다. 간단하고 효율적인 프로그래밍 언어인 Go 언어는 모바일 애플리케이션 개발에서도 강력한 잠재력을 보여주었습니다. 이 기사에서는 Go 언어를 사용하여 모바일 애플리케이션을 개발하는 방법을 자세히 소개하고 독자가 빠르게 시작하고 자신의 모바일 애플리케이션 개발을 시작할 수 있도록 특정 코드 예제를 첨부합니다. 1. 준비 시작하기 전에 개발 환경과 도구를 준비해야 합니다. 머리

워드에서 근수를 입력하는 방법을 함께 알아볼까요? 워드에서 근수를 입력하는 방법을 함께 알아볼까요? 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