問題描述
Yoast 的 WordPress SEO 外掛允許使用者將 SEO 標題和元描述新增到分類術語歸檔頁面。然後將它們用於檔案的頭部。
我試圖在分類歸檔模板中顯示分類術語的 SEO 標題為 H1 。
為了做到這一點,釋出的型別或頁面很容易:
echo get_post_meta($post->ID, '_yoast_wpseo_title', true);
在歸檔模板上,這不工作。
有誰知道如何讓這個工作?
螢幕截圖示例
這是特定標籤術語的標題。我在我的歸檔模板中顯示這個標題 – 然後顯示一個自定義分類術語。
最終程式碼
這是我最後在我的 archive.php 模板中使用的。如果您使用自定義分類法,它將起作用。對於標籤或類別,請看下面 Mike Mike 的答案。
<h1 class="archive-title">
<?php
if ( is_tax() ) :
$taxonomy = get_queried_object()->taxonomy;
$term_id = get_queried_object()->term_id;
$meta = get_option( 'wpseo_taxonomy_meta' );
$title = $meta[$taxonomy][$term_id]['wpseo_title'];
//printf( '<pre>%s</pre>', print_r( get_option( 'wpseo_taxonomy_meta' ), 1 ) );
if ( isset($meta) && !empty($title) ) :
echo apply_filters( 'the_title', $title );
else :
single_term_title();
endif;
endif;
?>
</h1>
最佳解決方案
獲取存檔 SEO 標題
如果您定義了自定義帖子型別存檔標題,您可以透過以下方式獲得:
$titles = get_option( 'wpseo_titles' );
$title = $titles['title-ptarchive-POST_TYPE'];
echo apply_filters( 'the_title', $title );
請記住用自己的 Custom Post Type 替換 POST_TYPE 。
要顯示所有 wpseo_title 變數,可以使用:
printf( '<pre>%s</pre>', print_r( get_option( 'wpseo_titles' ), 1 ) );
所以你可以輕鬆地選擇你需要的。
獲取術語 SEO 標題
Categories
透過使用此程式碼,您可以獲得您定義的 SEO 標題:
$cat_id = get_query_var( 'cat' );
$meta = get_option( 'wpseo_taxonomy_meta' );
$title = $meta['category'][$cat_id]['wpseo_title'];
echo apply_filters( 'the_title', $title );
Tags
透過使用此程式碼,您可以獲得您定義的 SEO 標題:
$tag_id = get_query_var( 'tag' );
$meta = get_option( 'wpseo_taxonomy_meta' );
$title = $meta['post_tag'][$tag_id]['wpseo_title'];
echo apply_filters( 'the_title', $title );
要顯示所有 wpseo_taxonomy_meta 變數,可以使用:
printf( '<pre>%s</pre>', print_r( get_option( 'wpseo_taxonomy_meta' ), 1 ) );
這樣可以看到結構和可用變數。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。
