Exibir o título de SEO WordPress no modelo de arquivo

O plugin SEO WordPress da Yoast permite aos usuários adicionar títulos de SEO e descrições de meta a páginas de arquivo de termos de taxonomia. Estes são usados ​​na cabeça do documento.

Eu estou tentando exibir o título de SEO de termos de taxonomia como um H1 no meu modelo de arquivo de taxonomia.

Para fazer isso em uma postagem, o tipo de publicação ou a página é fácil:

echo get_post_meta($post->ID, '_yoast_wpseo_title', true); 

Nos modelos de arquivo isso não funciona.

Alguém sabe como conseguir isso para funcionar?

Exemplo de Screenshot

Este é o título de um termo de etiqueta específico. Estou tentando exibir esse título – mas, em seguida, para um termo de taxonomia personalizado – em meus modelos de arquivo.

A tela de edição do arquivo de tags

Código final

Isto é o que acabei usando no meu modelo archive.php . Funciona se você estiver usando uma taxonomia personalizada. Para tags ou categorias, veja a resposta de Mike Madern abaixo.

 

taxonomy; $term_id = get_queried_object()->term_id; $meta = get_option( 'wpseo_taxonomy_meta' ); $title = $meta[$taxonomy][$term_id]['wpseo_title']; //printf( '
%s

', 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; ?>

Solutions Collecting From Web of "Exibir o título de SEO WordPress no modelo de arquivo"

Obtenha títulos de Arquivo de SEO

Se você definiu um título de arquivo Custom Post Type, você pode obter isso por:

 $titles = get_option( 'wpseo_titles' ); $title = $titles['title-ptarchive-POST_TYPE']; echo apply_filters( 'the_title', $title ); 

Lembre-se de replace POST_TYPE pelo seu próprio tipo de postagem personalizada.

Para exibir todas as variables ​​do wpseo_title , você pode usar:

 printf( '
%s

', print_r( get_option( 'wpseo_titles' ), 1 ) );

Então você pode facilmente escolher o que você precisa.

Obter títulos de termo de SEO

Categorias

Ao usar este código, você pode obter o título de SEO que você definiu:

 $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 ); 

Tag

Ao usar este código, você pode obter o título de SEO que você definiu:

 $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 ); 

Para exibir todas wpseo_taxonomy_meta variables wpseo_taxonomy_meta , você pode usar:

 printf( '
%s

', print_r( get_option( 'wpseo_taxonomy_meta' ), 1 ) );

Desta forma, você pode ver a estrutura e as variables ​​disponíveis.

Na página de arquivamento no loop de pós, adicione a seguinte linha de código para fazê-lo funcionar

 echo get_post_meta(get_the_ID(), '_yoast_wpseo_title', true); 

Diga-me se está funcionando para você ou eu providenciarei outra solução.