Wordpress и OpenGraph - код не работает должным образом на index.php - PullRequest
0 голосов
/ 03 октября 2019

У меня проблема с OpenGraph кодом, который я использую для WordPress сайта. Код работает, но не 100% . Проблема в том, что он хорошо работает для поста - показывает правильное изображение, название блога, заголовок поста и описание. Но, если я проверю отладчик fb shared для главной страницы моего блога. Есть некоторые проблемы в index.php. Это не показывает выбранное изображение (показывает логотип навигационной панели) и показывает описание, но описание первого сообщения, вместо того, которое дано в коде. Я добавил код в свой шаблон внизуfunction.php. Если бы кто-то мог помочь, я был бы более чем счастлив. Вот код ниже:

  //Adding the Open Graph in the Language Attributes - functions.php

function add_opengraph_doctype( $output ) {
        return $output . ' xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"';
    }
add_filter('language_attributes', 'add_opengraph_doctype');

//Lets add Open Graph Meta Info

function insert_fb_in_head() {
    global $post;
    if ( !is_singular()) //if it is not a post or a page
        return;
        echo '<meta property="fb:admins" content="YOUR USER ID"/>';
        echo '<meta property="og:title" content="' . get_the_title() . '"/>';
        echo '<meta property="og:type" content="article"/>';
        echo '<meta property="og:url" content="' . get_permalink() . '"/>';
        echo '<meta property="og:site_name" content="SITE NAME"/>';
    if(!has_post_thumbnail( $post->ID )) { //the post does not have featured image, use a default image
        $default_image="http://SITENAME/img/image.jpg"; //replace this with a default image on your server or an image in your media library
        echo '<meta property="og:image" content="' . $default_image . '"/>';
    }
    else{
        $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
        echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
    }
    echo "
";
}
add_action( 'wp_head', 'insert_fb_in_head', 5 );
...