当前位置:首页 > CMS教程 > WordPress > 列表

wordpress内容页面title标题调用文章分类

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-23 22:34:41 浏览: 评论:0 

根据seo优化规则我们可以对文章的标题后面带上分类,如文章标题+分类+网站名称,下面我主来介绍wordpress中怎么实现吧.

现象:wordpress 文章页title标题调用所属分类,使用single_cat_title()方法无任何内容输出。

解析:single_cat_title():该方法只有在分类列表跟标签页面才能正常输出所属分类;

wp_title()也能在分类列表页面title中显示所属分类,固只有文章页title输出所属分类才需额外处理!

get_the_category()方法不带参数,默认为获取文章页所属分类的所有信息,用foreach查看这个方法返回了哪些有用信息可用,代码如下:

  1. <?php 
  2. $categories=get_the_category(); 
  3. foreach ($categories as $key => $value) { 
  4. echo "$key =&gt; $value"
  5. ?> 

页面报“Catchable fatal error: Object of class stdClass could not be converted to string ”运行错误!

从错误说明中可知$categories返回值中包含有class stdClass类型,我们用var_dump()函数进行输出调试(此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值,数组将递归展开值,通过缩进显示其结构),语句为:var_dump($categories);

显示结果为:

  1. array (size=1) 
  2. 0 => 
  3. object(stdClass)[106] 
  4. public 'term_id' => &int 1 
  5. public 'name' => &string '未分类' (length=9) 
  6. public 'slug' => &string 'uncategorized' (length=13) 
  7. public 'term_group' => int 0 
  8. public 'term_taxonomy_id' => int 1 
  9. public 'taxonomy' => string 'category' (length=8) 
  10. public 'description' => &string '' (length=0) 
  11. public 'parent' => &int 0 
  12. public 'count' => &int 2 
  13. public 'object_id' => int 10 
  14. public 'filter' => string 'raw' (length=3) 
  15. public 'cat_ID' => &int 1 
  16. public 'category_count' => &int 2 
  17. public 'category_description' => &string '' (length=0) 
  18. public 'cat_name' => &string '未分类' (length=9) 
  19. public 'category_nicename' => &string 'uncategorized' (length=13) 
  20. public 'category_parent' => &int 0 

看了这个数组结构可知,要用foreach输出所有有用的分类信息,上面php代码应改为如下代码:

  1. <?php 
  2. $categories=get_the_category(); 
  3. foreach ($categories[0] as $key => $value) { 
  4. echo "$key => $value"
  5. //www.phpfensi.com 
  6. ?> 

加上加粗代码部分就能解决“Catchable fatal error: Object of class stdClass could not be converted to string ”这个报错!

到这里,文章页title标题调用所属分类的写法就很明显了,写法如下:

  1. <?php 
  2. if(is_single()){ 
  3. $categories=get_the_category(); 
  4. echo $categories[0]->cat_name; 
  5. ?> 

Tags: wordpress 页面 标题 内容

分享到: