Добрый день. Не являюсь программистом, но очень хочу прокачать используемый плагин звёздочек. Как вывести немного другой текст на непосредственно звёздочках в постах определённой категории я разобрался (обрамляя код
if(in_category(90)) ), а вот как сделать кастомный вывод метатегов (кода структурированных данных), не смог :-(
Очень хотел за место полного сниппета, выводить в всех постах, что располагаются в одной категории (идёт под ID 90) только вот эти (и, конечно, сами графические звёздочки и текст
(голосов: *, средний балл: * из 5)):<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<span itemprop="ratingValue">***</span>
<span itemprop="ratingCount">***</span>
</div>
Т.е. речь идёт именно о техническом снипете для Google.
Согласно рекомендации Google для программ
https://developers.google.com/search/docs/data-typ...
Вот в этом коде осуществляется настройка (хотя может настройка вывода осуществляется в другом месте, так что на всякий случай
прилагаю сам файл).
// Google Rich Snippet
$google_structured_data = '';
$ratings_options['richsnippet'] = isset( $ratings_options['richsnippet'] ) ? $ratings_options['richsnippet'] : 1;
if( $ratings_options['richsnippet'] && is_singular() && $is_main_loop ) {
$itemtype = apply_filters( 'wp_postratings_schema_itemtype', 'itemscope itemtype="http://schema.org/Article"' );
if( empty( $post_excerpt ) ) {
$post_excerpt = ratings_post_excerpt( $post_id, $post->post_excerpt, $post->post_content, $post->post_password );
}
$post_meta = '<meta itemprop="headline" content="' . esc_attr( $post_title ) . '" />';
$post_meta .= '<meta itemprop="description" content="' . wp_kses( $post_excerpt, array() ) . '" />';
$post_meta .= '<meta itemprop="datePublished" content="' . mysql2date( 'c', $post->post_date, false ) . '" />';
$post_meta .= '<meta itemprop="dateModified" content="' . mysql2date( 'c', $post->post_modified, false ) . '" />';
$post_meta .= '<meta itemprop="url" content="' . $post_link . '" />';
$post_meta .= '<meta itemprop="author" content="Test.ru" />';
$post_meta .= '<meta itemprop="mainEntityOfPage" content="' . get_permalink() . '" />';
// Image
if( has_post_thumbnail() ) {
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( null ) );
if( ! empty( $thumbnail ) ) {
$post_meta .= '<div style="display: none;" itemprop="image" itemscope itemtype="https://schema.org/ImageObject">';
$post_meta .= '<meta itemprop="url" content="' . $thumbnail[0] . '" />';
$post_meta .= '<meta itemprop="width" content="' . $thumbnail[1] . '" />';
$post_meta .= '<meta itemprop="height" content="' . $thumbnail[2] . '" />';
$post_meta .= '</div>';
}
}
// Publisher
$site_logo = '';
if ( function_exists( 'the_custom_logo' ) ) {
$custom_logo_id = get_theme_mod( 'custom_logo' );
if ( $custom_logo_id ) {
$custom_logo = wp_get_attachment_image_src( $custom_logo_id, 'full' );
$site_logo = $custom_logo[0];
}
}
if( empty( $site_logo ) ) {
if( has_header_image() ) {
$header_image = get_header_image();
if( ! empty( $header_image ) ) {
$site_logo = $header_image;
}
}
}
$site_logo = apply_filters( 'wp_postratings_site_logo', $site_logo );
$post_meta .= '<div style="display: none;" itemprop="publisher" itemscope itemtype="https://schema.org/Organization">';
$post_meta .= '<meta itemprop="name" content="' . get_bloginfo( 'name' ) . '" />';
$post_meta .= '<div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">';
$post_meta .= '<meta itemprop="url" content="' . $site_logo . '" />';
$post_meta .= '</div>';
$post_meta .= '</div>';
$ratings_meta = '';
if( $post_ratings_average > 0 ) {
$ratings_meta .= '<div style="display: none;" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">';
$ratings_meta .= '<meta itemprop="bestRating" content="' . $ratings_max . '" />';
$ratings_meta .= '<meta itemprop="worstRating" content="1" />';
$ratings_meta .= '<meta itemprop="ratingValue" content="' . $post_ratings_average . '" />';
$ratings_meta .= '<meta itemprop="ratingCount" content="' . $post_ratings_users . '" />';
$ratings_meta .= '</div>';
}
$google_structured_data = apply_filters( 'wp_postratings_google_structured_data', ( empty( $itemtype ) ? $ratings_meta : ( $post_meta . $ratings_meta ) ) );
}
return apply_filters( 'expand_ratings_template', ( $value . $google_structured_data ) );
}
Заранее спасибо за ответ.