简书仿站的文章详情页的基本功能跟首页差不多,因此制作的过程我就不再详细讲述。而是换一个角度,通过介绍那些文章详情页会使用到的函数的具体使用方法来更深入的理解制作的过程。

文章详情页的制作方法

1.建single.php,这是文章详情页的页面文件。

打开简书网站的任何一篇文章页,保存网页到桌面,会得到一个html文件和文章页所有文件的一个文件夹。将html文件改成single.php。连同文章页的所有文件图片JS等全部存到jianshu文件夹中。

2.登入你的WP后台仪表盘,找到single.php,就在这里修改内容。

在仪表盘右侧导航中找到【外观】-【编辑】,找到single.php文件,就可以在代码编辑区内修改了。(就跟前面找index.php方法一样,去看看报告(二)),以后的代码修改就在这里修改,然后点击下面的蓝色按钮更新,去前台看看效果。

3.修改single.php里头的相对地址

由于single页的所有的文件图片都保存到了jianshu文件夹这个主目录里头了,那么就把single.php中的相对地址都换上,还记得吧,用下面的代码。(忘记了就去看看报告(二))。

<?php bloginfo('template_directory'); ?>//表示主目录的地址

4.文章详情页的核心功能图是这样的,看下图:

简书文章详情页的核心功能图

以下介绍文章详情页核心功能会用到的WP函数(更正确是说话应该是WP的模板标签),用这些模板标签函数替换掉静态的文本就可以了。

1.获取文章标题

php the_title(); ?>//用于显示当前文章的标题

放在主循环内用于显示当前文章的标题。主循环是每循环一次就会有一篇当前文章,它就是显示当前文章的标题。循环还是要用的,因为不只是一篇文章的详情页,是很多篇文章的详情页,详情页的single.php虽然只有一个文件,但是代表了很多的文章详情页,所以就要用循环来实现多篇文章显示效果。

附.显示当前文章的链接

php the_permalink() ?>

这段标签用来显示当前文章的固定链接,标题鼠标点击以后的href一定会有链接,就用这个代替。由于the_permalink()只能显示正在被主循环处理的文章的固定链接,因此用户无法用它来显示任意文章。如果你希望显示某篇文章的固定链接,并且你知道这篇文章的ID,可以考虑使用get_permalink()。如果你希望不在主循环中使用,也请你用get_permalink()。比如 echo'get_permalink(3);'?>,3是文章ID。

另外the_permalink()和get_permalink()的区别就是一个不加echo,一个加。以后碰到类似的其他模板标签,都是这个区别。get是获得的意思,获得了自然就要打印出来,就是echo了。

2.获取文章内容

<?php the_content();?>//主循环内显示当前文章的内容

这个也是要在主循环内使用的。(关于循环的内容,下次再讲,报告(三)有提到一点)。

这个标签更正确的用法是这样的:

//后两个参数都可以默认,不用填

比如<?php the_content('Read more...'); ?>

Read more...就是文章末尾更多内容点击>>>之类的。

另外,这个标签,也有get_the_content()。

3.获取文章分类

这个标签真正的用法是这样的。

第一个参数是,多个分类之间用什么符号隔开,可以是空格,或者逗号之类的,比如<?php the_category(',') ?>,第二个参数是当你要显示父子分类目录的时候可以填,'multiple' 表示显示父子分类目录,'single' 是只显示子分类目录,这顺便也是默认模式***

4.获取时间

//显示格式:2015-01-07 10:23

the_time();该标签显示当前文章的发表时间。()中的参数是你想要的时间格式。关于时间格式的问题,详情点击WP-时间格式的参数列表

5.获取文章字数

找到下面的代码,就是class="wordage"这段代码,然后修改成下面的样子。

字数: <?php echo count_words ($text); ?>

修改完了,然后在jianshu文件夹中,新建一个functions.php,把下面的代码复制进去,保存。

function count_words ($text) {

global $post;

if ( '' == $text ) {

$text = $post->post_content;

if (mb_strlen($output, 'UTF-8')

< mb_strlen($text, 'UTF-8')) $output .= mb_strlen(preg_replace

('/\s/','',html_entity_decode

(strip_tags($post->post_content))),'UTF-8') ;

return $output;

}

}

?>

6.获取点击量可以用插件

这里不在说了,可以百度一下WordPress点击量插件,下载后,然后在仪表盘上传安装包就可以了用了。

7.获取文章的作者

用下面这个。

另外获取作者的网站链接用这个<?php the_author_url(); ?>

作者的网站链接可在WP后台用户资料(管理面板>用户>我的配置)中设置。

8.获取作者的头像

60是尺寸大小,调用的是gavatar网站你注册的头像,虽然这个头像注册网站的使用率很高,但是因为是国外服务器,头像有可能显示不出来,因为网络加载的关系。网上有一些替代的方法。

9.记得在外面包裹一层循环

最终实现的效果:

简书仿站-文章详情页最终效果

php博客详情页怎么做,简书仿站报告(四):如何制作文章详情页相关推荐

  1. 博客从CSDN迁移至简书啦

    简书新博客地址:http://www.jianshu.com/u/5e702f7512fa.以后基本都在简书平台上更新博客啦.

  2. 《博客园精华集》Sharepoint+MOSS分册第2轮筛选结果文章列表

    <博客园精华集>Sharepoint+MOSS分册第2轮筛选结果文章列表 由我筛选完成,MOSS部分一共68篇,Sharepoint部分一共213篇 Sharepoint相对来说学习和使用 ...

  3. 织梦仿站系列教程第二十一讲——封面页制作(四)

    织梦搜索提示关键词不少于2个字节 织梦仿站系列教程第二十一讲--封面页制作(四) 看拳击在线的代码,晕,最新新闻和热门新闻竟然是JS调用,我们只好找到这个JS文件,转换成HTML,然后修改. 将如下代 ...

  4. Python玩转简书钻,简述钻是否对文章权重有影响?结果确实有!

    2018年11月15号,简书迎来大变革,取消了以往的积分制度,换为去中心化的简书钻,每日发放一万简书钻.首先,简书给出了获取钻石的途径:写文点赞,与以往的阅读,评论,点赞,关注,写作都能获取积分(不同 ...

  5. PPTX双重预防体系风险四色图制作(34页)(附下载)

    摘要:双重预防体系风险四色图制作(34页) 公众号:安全生产星球

  6. wordpress主题制作教程(十):制作文章单页模板single.php

    wordpress主题制作教程(十):制作文章单页模板single.php 您现在的位置:阿树工作室->wordpress主题教程->基础教程  2012.7.25  浏览数:39,982 ...

  7. 织梦仿站系列教程第二十三讲——列表页制作(二)

    织梦后台提示用户名不存在 查看数据库用户名被改为spider 织梦仿站系列教程第二十三讲--列表页制作(二) 这一讲,我们讲下列表页的分页代码,先找到如下代码: 865 1 href="ht ...

  8. 好看清新的双栏博客模板,可以用来做工作室官网,自媒体官网,个人博客,产品展示等网站。

    介绍: 模板描述 JPress 博客主题,响应式设计,自适应移动端设备浏览,适用于自媒体,新闻,杂志,博客等类型站点. 模板特点 舒适双栏设计风格: 采用HTML5和CSS3编写: 采用Bootstr ...

  9. 追梦App系列博客——设计思路篇(重构版)暨第四次例会总结

    文章目录 前言 一.从hope中得到的反思 1.功能并不是越多越好 2.打破传统App的设计观念 3.有趣的交互设计和独特的创意 4.沉浸式体验 5.无处不在的情感渲染,恰到好处的情感共鸣 二.设计思 ...

最新文章

  1. jsp error-page没有生效
  2. SCSM 2012Orchestrator 2012 虚拟机自动交付测试
  3. java怎么修改会员信息_JavaWeb用户信息管理系统-修改用户操作的实现
  4. 每日一博 - Review线程池
  5. python2与python3在absolute import的区别
  6. java关于异常的面试程序题_Java挑战:最难的十个面试题(附答案)「下」
  7. 求Sn = a+aa+aaa+...+aaaaaa(n个a),其中a是一个数字,n代表a的位数,例如 2+22+222+2222+22222(此时n=5),n由键盘输入。
  8. Element type quot;Resourcequot; must be followed by either attribute specifications, quot;gt;qu...
  9. 收藏 | Kaggle神器LightGBM最全解读!
  10. Repositories.EntityFramework 实现方式
  11. 借助mapshaper的简化来修复geojson的拓扑错误
  12. 洛克菲勒的38封信pdf下载_洛克菲勒写给儿子的38封信:要有竞争的决心
  13. 安装ubuntu18.04报:failed to load ldlinux.c32
  14. android modbus 串口,手机Modbus 安卓Modbus调试软件
  15. mc pe linux服务器地址,我的世界手机版服务器地址大全 我的世界PE服务器IP和端口一览...
  16. bochs运行xp_bochs模拟器xp系统镜像安装教程及注意事项
  17. python情绪识别_人脸情绪识别 测试心得(示例代码)
  18. java毕业生设计中小型饭馆餐饮管理系统计算机源码+系统+mysql+调试部署+lw
  19. 如何结决PDF中的文字无法复制或选中(使用Adobe Acrobat X Pro转换双重PDF)
  20. 连续信号、离散信号、模拟信号与数字信号区别

热门文章

  1. 波卡链Substrate (7)Grandpa协议一“概念说明”
  2. C++ Primer 5th笔记(chap 14 重载运算和类型转换)下标运算符[]
  3. JavaScript之事件
  4. travis-ci中的checkpatch工具使用
  5. select poll epoll IO操作多路复用及猴子补丁
  6. Web安全实战训练营
  7. 【攻防演练】蓝方值守阶段经验技巧
  8. python实现DES算法
  9. Dalvik指令集 (smali汇编)
  10. MySQL LIMIT:限制查询结果的记录条数