2016-09-28 134 views
1

我继承了一个包含自定义帖子类型(城市)的网站。由于一些奇怪的URL重写和重定向,SEO插件将无法在这些页面上工作。如何在WordPress中为标题标签添加分类术语?

这个自定义文章类型有一个分类(国家),我需要插入状态名到标题标签在我的header.php。我试过以下,但无济于事:

<title>Log Cabin Rentals in <?php single_term_title(); ?> - Find Your Dream Vacation Rental in <?php single_term_title(); ?></title> 

我也试过:

<?php 
$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); 
echo '<title>Cash for Gold Near ' . $term->name . ' - Find Gold Buyers Near ' . $term->name .'</title>'; 
echo '<meta name="description" content="Looking for cash for gold near ' . $term->name . '? Our cash for gold directory helps you find reputable local gold buyers and pawnshops near ' . $term->name . ', as well as info on how to earn the most cash for gold.">'; 
?> 

我在做什么错?

非常感谢!

辛西娅

+0

缺货的好奇你是否尝试过single_cat_title()或single_tax_title()来代替?如果没有看到自定义帖子类型设置,很难确切地说出你需要哪个。 –

+0

你会得到什么?什么?没有?任何错误或警告? 你可以尝试var_dump($ term);并粘贴结果?我有一种感觉,这个物体可能是空的。 – Spartacus

回答

0

这给了一枪,而不是:

$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); 
echo $term->name; 

如果呼应你的分类名,您可以用$条款而─替换你的标题标签的回声>名称

+0

我试过了 - 看到上面的OP的编辑 - 没有喜悦...呃。 – Cynthia

+0

奇怪!这可能有点矫枉过正,但我​​很好奇哪些查询变量被传递,因为这些函数似乎没有工作。你可以在你的header.php中放置下面的代码并粘贴输出吗?全球$ wp_query;的var_dump($ wp_query-> query_vars); –

0

解决方案一:

get_terms() - 检索给定分类法或分类列表中的术语。

您可以在查询发送之前将任何自定义设置完全注入查询,并使用过滤器控制输出。

当缓存具有该术语时,将调用'get_terms'过滤器,并且将传递找到的术语以及$ taxonomy和$ args数组。该过滤器也在术语数组传递之前调用,并且将传递术语数组以及$ taxonomy和$ args。

get_terms返回一个对象数组。你不能回显数组,如果你这样做,你只会得到Array()。你可以做的是print_r($array)var_dump($array)来查看它包含的数据。

$taxonomy = 'shirt'; 
$args=array(
    'hide_empty' => false, 
    'orderby' => 'name', 
    'order' => 'ASC' 
); 
$tax_terms = get_terms($taxonomy, $args); 
foreach ($tax_terms as $tax_term) { 
    echo $tax_term->name; 
} 

解决方法二:

您可以使用名为get_taxonomies()的功能,以查询出您需要的分类。

语法:

<?php get_taxonomies($args, $output, $operator) ?> 

实施例:

本例使用 '对象' 输出来检索和显示被称为 '流派' 的分类学:

<?php 
$args=array(
    'name' => 'genre' 
); 
$output = 'objects'; // or names 
$taxonomies=get_taxonomies($args,$output); 
if ($taxonomies) { 
    foreach ($taxonomies as $taxonomy) { 
    echo '<p>' . $taxonomy->name . '</p>'; 
    } 
} 
?> 
相关问题