Wordpress中显示页面当前位置

在浏览网站的时候,很多网站都提供了页面定位的功能,一般在文章的上方以这样的形式显示:

首页 >>  分类 >> 子分类 >> „ >> 阅读正文

那如何在wordpress中实现这样一个功能呢?当然很多主题已经提供了这样一个功能。如果你使用的主题没有提供这样一个功能,或者你想做带有这种位置提示功能的主题,不妨参考DDBug今天为你提供的方法,或许对你有用。

两个函数

首先介绍一下需要用到wp函数:get_the_category和get_category_parents get_the_category的作用是获取文章的所属分类列表(如果属于多个分类的话),返回一个分类数组,函数原型如下: get_the_category( $id = false )

参数$id是文章的post id,默认为当前文章的post id(用于Loop循环中)。 get_category_parents的作用是获取指定分类id的所有父级分类,函数原型如下:

get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() )

其中第一个参数$id是必须的,需要传入分类ID(category id),其它几个参数为可选,简单说明一下:

第二个参数$link标识是否需要超级链接,如果为true,返回的分类都带有链接,点击后显示分类下的所有文章;如果为false,返回的分类不带链接,不可点击。默认为false,不过这里为了达到我们想要的效果,需要把它设置为true。 第三个参数$separator是分类之间的分隔符,默认是“/”,你可以把它改成“>>”或者其它样式(可以通过CSS定义更多高级的样式)。

第四个参数$nicename标识是否显示分类别名,默认为false,即不显示别名(显示分类的实现名称)。如果你想显示分类别名,需要把它设置为true。一般我们都是显示分类的实际名称,所以这里用默认即可。

第五个参数$visited是一个数组,保存已经遍历的分类,$visited数组中的分类不会被再次遍历。这里我们不需要传入这个参数。

如果你想进一步了解get_the_category和get_category_parents,可以参看它们的源代码:wp-includes\category-template.php

实现方法

对这两个函数有了基本的了解之后,实现定位文章位置的功能就很简单了: 在你的模板文件夹下找到single.php文件,用文本编辑器打开,先找到Loop循环的位置,一般以下面这段代码开始

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

然后在其后的适当位置(一般在标题之前,当然你也可放在任何你想放的位置)中加入如下代码

<p>当前位置: <a href="http://domety.com/" title="首页">首页</a>&gt;&gt;<?php $categorys = get_the_category(); $category =

$categorys[0];echo(get_category_parents($category->term_id,true,'>>')); ?> 阅读正文</p>

这样就实现了我们想要的效果。不过这里有个问题需要注意:在你写文章的时候,最好把文章只归为一个单独的分类中,因为这段代码会自动查找该分类的父 级分类。如果你把文章归为不同的类别下面,这个方法也只显示其中的一个分类路径(正如代码中的$category=$categorys[0])。比如我 把这篇文章归类到wordpress下,就不必再选择wordpress的父级分类“程序开发”了。

转载于:https://blog.51cto.com/brokenjoin/1296374

Wordpress中显示页面当前位置相关推荐

  1. 如何在WordPress中显示链接的实时预览

    Have you ever seen sites that show a live preview of links when you bring your mouse over them? That ...

  2. php怎么限制文章标题的字数,文章标题在WordPress中显示的长度即字数如何限制呢?...

    当您想使WordPress文章标题尽可能短,特别是文章很多的时候,不管是开设时尚博客,美食博客还是任何其他类型的网站,每次写新文章时都很难做到这一点.那么,如何限制WordPress中的文章标题,以便 ...

  3. html中显示页面布局,如何让打开的网页显示在一个页面上

    怎么把打开的网页并排显示在一个浏览器上 打开IE网页中"工具",选择"Internet选项",里面有人选项卡,选择"设置",然后在选项,遇到 ...

  4. wordpress php 链接,WordPress中获取页面链接和标题的相关PHP函数用法解析

    get_permalink()(获取文章或页面链接)get_permalink() 用来根据固定连接返回文章或者页面的链接.在获取链接时 get_permalink() 函数需要知道要获取的文章的 I ...

  5. word取消“在页面视图中显示页面间空白”后,关闭打开又自动勾上

    网上搜了一圈没找到方法,可以试下恢复word默认设置 首先把word全部关闭. 接着:Win+R,出来运行窗口,粘贴:%appdata%\Microsoft\Templates 回车之后,出来一个文件 ...

  6. 地图定位的坐标和mapview中显示的当前位置信息不一致

    2019独角兽企业重金招聘Python工程师标准>>> // 准确打开方式 - (void)mapView:(MKMapView *)mapView didUpdateUserLoc ...

  7. wordpress中解决页面未找到的问题

    1 在根目录下新建.htaccess 2 写入如下配置 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On Rewrit ...

  8. 使用Vue.js在WordPress中创建单页面应用SPA

    吐槽一下,掘金好像并不能插入gist的代码框 效果有点打折扣 博客原文地址里有gist代码: 使用Vue.js在WordPress中创建单页面应用SPA 英文原文地址:premium.wpmudev. ...

  9. wordpress创建_如何在WordPress中创建子页面

    wordpress创建 Do you want to create a child page on your site? Pages in WordPress can be standalone or ...

最新文章

  1. 怎么从Android App Bundle (.aab)提取和转换apks文件(从AAB到APKs的转换和提取)
  2. clover写入efi_2014 黑苹果折腾之clover efi全新安装
  3. bzoj2463谁能赢呢?
  4. python学习笔记(一)基本数据类型
  5. Python 位操作运算符
  6. html中怎样实现在输入框中出现提示
  7. centos 低版本出现fatal: unable to access 'https://github.com/XXXX': SSL connect error
  8. 如何在Linux系统上刷抖音
  9. PyCharm——项目管理
  10. java边缘检测_Sobel边缘检测实现
  11. 未来新一代计算机发展趋势有,未来新一代计算机的代表有()。
  12. 一文入门 Spring Boot
  13. 【iOS开发-39】为什么按钮点击时背景图片颜色灰蒙蒙的?与按钮的Type属性有关
  14. 李开复:人工智能对人类真正的威胁是什么?
  15. H5 开发内嵌页面跨域问题
  16. Zookeeper——3、使用zkClient操作zookeeper
  17. Android核心功能
  18. 浪迹天涯,总在落叶的季节里
  19. 2015计算机等级考试,2015计算机等级考试
  20. CentOS下搭建LAMP

热门文章

  1. 26. 删除排序数组中的重复项 golang
  2. 从《四驱兄弟》到“联想中国”
  3. HTTP菜鸟教程速查手册
  4. python 之 __new__ 方法理解
  5. 数据分割-并查集+set
  6. 【Java学习笔记四】Java中的包
  7. Java进阶之光!mysql安装包安装教程
  8. java操作word文档,深度解析,值得收藏
  9. 7天拿到阿里安卓岗位offer,统统给你解决!
  10. db2 c语言游标名称可以是变量,mysql c语言 游标能取多行吗