Facebookのような画像を制御するにはどうすればよいですか?[閉まっている]


13

ブログにいくつかの投稿があり、各投稿にはFacebookのようなボタンが埋め込まれています。ボタンを押すとダイアログが開き、訪問者はコメント付きでFacebookの投稿を共有できます。

ただし、共有する場合、Facebookが選択した画像は一般的なメールアイコンであり、投稿のサムネイルではありません。

共有時に使用される画像を制御するにはどうすればよいですか?


そのサイトは最近ハッキングされたようです
...-MirroredFate

1
ほとんどWordpressの質問ではありません...
Kaaviar

回答:


7

共有に使用される画像は、サイトのヘッダーにある次のようなコードの塊から取得されます。

<link rel="image_src" href="path/to/theme/screenshot.png" />

通常、テーマのサイトのスクリーンショットにリンクします。ファイルのヘッダーからコードを削除し、single.phpでコードをループ内に配置し、投稿のサムネイル画像をhref要素に呼び出した場合、動作するはずです。したがって、次のようになります。

<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />

これは、複数の投稿をリストするページにいいねボタンがある場合、おそらく画像がないことを意味します。single.phpでのみ削除する条件付きコードを含めた場合、single.phpテンプレートが使用されている場合、複数の投稿と「いいね!」ボタンと投稿サムネイルがあるページに通常の画像が表示されます。したがって、ヘッダーコードは次のようになります。

<?php if ( is_single() ) { /* do nothing on single pages */ } else { ?>
<link rel="image_src" href="path/to/theme/screenshot.png" />
<?php } ?>

その後、コードを使用して、投稿のサムネイルをsingle.phpに含めます。


3
これは、おそらく時代遅れとしてフラグが立てられました。答えを更新することを検討してください(「これは当時だったが、今ではうまく機能している」など)。
11年

11

Facebookは現在、opengraphプロトコルを使用しています。以下を使用して画像を追加できます。

<meta property = "og:image" content = "http:// YOUR_IMAGE_URL" />

この行をページヘッダーに追加します。

または、プラグインを使用してこれを自動的に行うこともできます。

このジョブを実行するだけで、設定は必要ありません。

http://shailan.com/wordpress/plugins/facebook-meta-tags-plugin/


5

Facebook Open Graph Protocolを使用する必要があります。受け入れられた回答が多くのOGの1つではない理由はわかりません:関連する回答(私は投票しました)が間違っています。

http://developers.facebook.com/docs/opengraph/

Open Graphを使用する場合、タイトル、画像、説明、カテゴリ、最終更新などを含む多くのものをカスタマイズできます。これらの他の半分のソリューションを使用すると、全体像が失われます。

私が行うすべてのFB作業についてOGプロトコルに従わなかった場合、解雇されます。


1

以下を行う場合:

<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />

Wordpressは、実際に必要なSRCだけでなく、画像の表示に必要なhtmlを出力することがわかります。

次のようなことをする:

<?php

// Featured Image for FB Like
$feature_image = get_the_post_thumbnail($post->ID);

// Get image source
$doc = new DOMDocument();
$doc->loadHTML($feature_image);
$imageTags = $doc->getElementsByTagName('img');

foreach($imageTags as $tag) {
        $image_url = $tag->getAttribute('src');
    }
?>
<link rel="image_src" href="<?php echo $image_url; ?>" />

URLのみを取得します。これはおそらく長い道のりであり、おそらく短縮できますが、間違いなく問題を解決します。

これがあなたを正しい軌道に乗せることを願っています。

マット。




0
<meta property="og:image" content="http://YOUR_IMAGE_URL" />

このメソッドは「like」:sで機能しますが、後でurログ(たとえば)でリンクを共有する場合、この画像は自動選択されます。

このメタタグがなければ、リンクされたサイトのすべての画像から選択できます。

誰もが静的な「いいね」の画像を保持する方法を知っていますが、それでもURLを共有するときに画像を選択しますか?


0

OK私は選択した注目の画像でMeta og:imageを生成するために少しのJavaScriptを書きました。これは、ヘッダーファイルに追加する1回限りのハックです。

私のワードプレスの投稿で、「featured-image」というIDを追加します(後のワードプレスでは、これが組み込みであることがわかっています。古いものを使用しています)。

<xmp><img src="http://mysite.com/catphoto.jpg" id="featured-image" /></xmp>

ブログログなどのプレースホルダーを使用して、og:imageのメタタグを記述します。"id =" meta-image "をタグに追加します。つまり、

<meta property="og:image" src="http://mysite.com/logo.jpg" id="meta-image" />

次に、このjavascriptをヘッダーに追加します。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"> </script>

<script type="text/javascript">
$(document).ready( function(){
    var featured_image = $("#featured-image").attr("src");
    $('meta[property="og:image"]').attr("content",featured_image);
});

wp_enqueue_script()WordPressでJavaScriptをロードするために使用します。
FUXIA

これは実際に機能しますか?Facebookデバッガーは私の画像を認識しません。JavaScriptを解析しているとは思わない。
benedict_w
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.