Obtenga el Nombre de categoría actual en una página que filtra las publicaciones por Categoría y meta_key personalizada

Estoy filtrando con éxito todas mis publicaciones de WordPress (en una plantilla de página personalizada) por Me gusta (contar) con un complemento personalizado (y meta_key) que también me permite filtrar las publicaciones que más me han gustado en una categoría específica con lo siguiente

if (isset($_GET['category'])) { $args = array( 'meta_key' => '_recoed', 'meta_compare' => '>', 'meta_value' => '0', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'category_name' => sanitize_text_field($_GET['category']), 'paged' => $paged ); } query_posts($args); get_template_part('index'); 

La lista de categorías para filtrar las publicaciones de cada categoría (funciona bien)

     
  • <a class="popular-categories" href="https://stackoverflow.com/questions/48525133/get-current-category-name-on-a-page-which-filters-posts-by-category-and-custom-m/?category=category_nicename; ?>">name; ?>
  • La url después de filtrar las publicaciones, por ejemplo, se parece a

     .../hot-posts/?category=new-posts-category 

    ¿Alguna idea de cómo repetir solo el nombre de la categoría actual en la página actual? En el caso del ejemplo sería “Nueva categoría de publicación”

    Hay 3 posibilidades (la taxonomía para las categorías WP es category ) :

    1) Una ID : si $_GET['category'] es una ID de término de la category WP que utilizará:

     if( isset($_GET['category'] ) && term_exists( intval($_GET['category']), 'category' ) ){ $term = get_term( intval($_GET['category']), 'category' ); echo '

    ' . $term->name . '

    '; }

    2) UNA PISTA : si $_GET['category'] es un término de la WP, utilizará:

     if( isset($_GET['category'] ) && term_exists( sanitize_text_field($_GET['category']), 'category' ) ){ $term = get_term_by( 'slug', sanitize_text_field($_GET['category']), 'category' ); echo '

    ' . $term->name . '

    '; }

    3) UN NOMBRE : si ya es un término de WP, solo use:

     if( isset($_GET['category'] ) && term_exists( sanitize_text_field($_GET['category']), 'category' ) ) echo '

    ' . sanitize_text_field($_GET['category']) . '

    ';

    Pero no uses sanitize_title() en la category WP category NAME, ya que se convertirá en un término SLUG

    Intereting Posts