2016-04-27 13 views
0

私は次の関数を使用している、と私は確信しているページ上のFBのデバッガを使用していますが機能の画像が設定されています:動的OGを挿入する:WordPressのページの画像

function fb_opengraph() { 
    global $post; 

    if(is_page()) { 

     if(has_post_thumbnail($post->ID)) { 
      $img_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
     } else { 
      $img_src = get_stylesheet_directory_uri() . '/img/opengraph_image.jpg'; 
     } 
     if($excerpt = $post->post_excerpt) { 
      $excerpt = strip_tags($post->post_excerpt); 
      $excerpt = str_replace("", "'", $excerpt); 
     } else { 
      $excerpt = get_bloginfo('description'); 
     } 
     ?> 

    <meta property="og:title" content="<?php echo the_title(); ?>"/> 
    <meta property="og:description" content="<?php the_content(); ?>"/> 
    <meta property="og:type" content="article"/> 
    <meta property="og:url" content="<?php echo the_permalink(); ?>"/> 
    <meta property="og:site_name" content="<?php echo get_bloginfo(); ?>"/> 
    <meta property="og:image" content="<?php echo $img_src; ?>"/> 

<?php 
    } else { 
     return; 
    } 
} 
add_action('wp_head', 'fb_opengraph', 5); 

現在何が起こっていますさ$ img_srcは "Array"という値で戻ってきており、そのページの注目画像のURLではありません。私はこの「配列」の値がどこから来ているのかは分かりませんが、もっと重要なのは特色のある画像のURLを運んでいないことです。

アイデア?ありがとう!

答えて

1

https://developer.wordpress.org/reference/functions/wp_get_attachment_image_src/

これは、あなたが適切な配列要素

$img_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium')['url']; 

はそれをため

+0

感謝を試してみて取得する必要があるURLを取得するための配列

wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 

を与える必要があります迅速な対応。私はそのコードを追加しました。現在は$ img_srcのために何の価値もありません。 FBのデバッガによれば、「提供されたog:画像のURLは有効なURLではありませんでした。私は実際にそこに特色のあるイメージがあることを二重チェックしました。 – hudsonian

+0

ブラウザからページソースを調べてみてください。 srcには何が入っていますか?

+0

これは単にogのためだけです:image: hudsonian