2016-04-27 8 views
0

ich die folgende Funktion bin mit, und auf einer Seite FB des Debuggers ist mit, dass ich einen funktions Bildmenge bestimmten hat:Dynamisch Einfügen og: image auf einer Wordpress-Seite

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); 

Was derzeit geschieht, ist dass $ img_src mit dem Wert "Array" zurückkommt und nicht mit der URL für das vorgestellte Bild für diese Seite. Ich bin mir nicht sicher, woher dieser "Array" -Wert überhaupt kommt, aber noch wichtiger ist, dass ich versuche, die vorgestellte Bild-URL ohne Erfolg einzubinden.

Irgendwelche Ideen? Vielen Dank!

Antwort

1

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

Dies sollten Sie

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

ein Array geben Sie die URL für das Erhalten Sie entsprechende Array-Element erhalten müssen

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

es

+0

Vielen Dank für die etwas ausprobieren schnelle Antwort. Ich habe diesen Code hinzugefügt und er kommt momentan ohne Wert für $ img_src zurück. "Gestellte og: Bild-URL, war keine gültige URL.", Laut FB-Debugger. Ich habe überprüft, dass dort tatsächlich ein vorgestellten Bild ist. – hudsonian

+0

Versuchen Sie, über den Browser in die Seitenquelle zu schauen. Was ist in Src da? –

+0

Es ist einfach "" für die og: image: hudsonian