問題描述

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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。