WordPress — как в плагине RankMath поменять Description страницы

Иногда на PHP в теме надо сделать кастомный Description — если с тайтлом особенных проблем нет, то вот описание, формируемое плагинами SEO, поменять труднее.

В случае использования RankMath вот есть готовый рецепт

add_filter( 'rank_math/frontend/description', function( $description ) {
  if ( is_single() ) {
    global $post;
    return get_post_meta( $post->ID, '_meta_key', true );
  }
  return $description;
});

Этот код необходимо разместить в файл functions.php текущей темы. Или вызывать из плагина.

В моем случае с обращением в базу данных у меня получилось следующее:

add_filter( 'rank_math/frontend/description', 'change_event_description');

 function change_event_description($description) {
    global $wpdb;
    $id=intval(get_query_var( 'course'));
    if ($id>0)
    { 
    $dbs = $wpdb->get_results("SELECT * FROM isbd_courses WHERE id= ".$id);
        if( $dbs )
            {
            foreach ( $dbs as $db )
                    {
  
                        return mb_substr(strip_tags($db->description),0, 160);
        
                    }
            } else {
            
            return "Семинар не найден";
            }
    }
    else   return $description;
}

 



Добавить комментарий