2016-09-28 108 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>'; 
    } 
} 
?> 
相關問題