Meta descrição – código do modelo para obter descrição da categoria

Abaixo está o código que escrevi para header.php para que a descrição de uma categoria de produto possa ser obtida e usada para a tag descrição ao visualizar essa “página” no site.

Existe mais um “modo WordPress” para fazer isso, como uma function que eu deveria usar em vez de referenciar a propriedade de description do object retornado por get_queried_obj() ? Eu originalmente queria usar term_description() mas isso adiciona tags

para que eu não acabasse indo naquele caminho (eu sei que eu poderia tira-los com uma function incorporada, mas isso não parece uma boa prática).

O bloco elseif abaixo é o código-chave:

 description; } else { $description = get_bloginfo('description'); } if (trim($description) !== '') { ?> <meta name="description" content="" />  

Solutions Collecting From Web of "Meta descrição – código do modelo para obter descrição da categoria"

Existe mais um “caminho WordPress” para fazer isso …

Eu realmente não sei o que você quer dizer com mais WordPress, mas em geral, a forma como você está obtendo o termo descrição é uma maneira mais confiável de fazê-lo. Desta forma, você não precisa acessar o $post global que tantas pessoas usam. Apenas por interesse, veja minha postagem aqui sobre por que evitar o $post global

Gostaria, no entanto, de obter o object consultado do $GLOBALS['wp_the_query']->get_queried_object() que é ainda mais confiável do que get_queried_object() , e depois passar por get_term() para aplicar o termo filtros ao termo

 } elseif ( is_tax() ) { //Product categories $obj_temp = get_term( $GLOBALS['wp_the_query']->get_queried_object() ); $description = $obj_temp->description; } 

Outra maneira provável é obter o termo slug and taxonomy do URL e, em seguida, obter o object do termo completo para obter a descrição

 } elseif ( is_tax() ) { //Product categories $obj_temp = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') ); $description = $obj_temp->description; } 

EDITAR – de comentários

Como é $GLOBALS['wp_the_query']->get_queried_object() mais confiável do que get_queried_object()

Nós realmente tivemos uma discussão sobre isso que levou à minha resposta para a seguinte pergunta

  • $ GLOBALS [‘wp_the_query’] vs global $ wp_query

Você deve realmente ler isso, pois expliquei tudo em detalhes. Apenas uma prova rápida de conceito para adicionar a essa resposta neste contexto, em qualquer modelo, de preferência um modelo de página ou taxonomia, execute o seguinte e veja os resultados

 var_dump( $GLOBALS['wp_the_query']->get_queried_object() ); var_dump( get_queried_object() ); query_posts( 's=crap' ); var_dump( $GLOBALS['wp_the_query']->get_queried_object() ); var_dump( get_queried_object() ); 

Além disso, o que é uma situação indesejável que pode resultar se o termo filtros não foi aplicado ao termo

Os dados de prazo não são sanitizados, especialmente quando usados ​​diretamente de um super global, por isso podem conter código malicioso injetado ou URLs pirateados para algum site de pornografia hardcore que você não deseja. A aplicação do termo filtros sanitiza os dados de acordo com o campo do termo para que ele seja salvo para usar.

Sanitizar, validar e escaping dados deve ser um hábito, e não um extra discuável. Os hackers adoram dados não sanitizados e não validados, eles podem injetar qualquer código malicioso em seu site e através desse access ao seu site. O melhor conselho que eu posso lhe dizer para sempre é: SEMPRE SANTIQUE, VALIDAR E ESCAPAR todos os dados de acordo com o tipo de dados, independentemente de onde ele vem ( mesmo que venha de você mesmo ) ou para o qual será usado. Desta forma, você torna extremamente difícil para os hackers hackear seu site