0

Web サイトの特定の種類の動的ページの共有リンクを作成しようとしています。このページにはベース テンプレートがありますが、XML を解析して実際に役立つコンテンツを構築する大きな PHP スクリプトを実行します。

典型的なFacebookの共有などは、最終ページではなく、ベーステンプレートのタイトルとコンテンツを取得するように見えます. 、写真など:

            $title=urlencode($xml->pet->name . ' | DPA!');
            $url=urlencode($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
            $summary=urlencode($xml->pet->name . ' is available for adoption.');
            $image=urlencode($thumbnail_photo);

            ?>
            <a onClick="window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo $title;?>&amp;p[summary]=<?php echo $summary;?>&amp;p[url]=<?php echo $url; ?>&amp;&amp;p[images][0]=<?php echo $image;?>','sharer','toolbar=0,status=0,width=548,height=325');" href="javascript: void(0)">Share on Facebook</a></div>
            <?php

これにより、必要に応じて正しい情報と思われる共有ウィンドウが表示されますが、共有すると次のエラーが発生します。

このウォールにメッセージを投稿できませんでした

私のサイトはWordpressを実行しています。このエラーが発生する理由を誰か教えてもらえますか?

また、共有のアクセス許可を変更したり、別のブラウザーを試したり、夫に自分のコンピューターとアカウントで試してもらったことにも注意してください。

編集: コードの出典: http://www.daddydesign.com/wordpress/how-to-create-a-custom-facebook-share-button-for-your-iframe-tab/

編集#2:詳細については、ページはカスタムテンプレートを使用したWordpressの「ページ」です。テンプレートには、「ベース タイトル」というプレースホルダー タイトルがあります。ページに実際に表示されるタイトルは事後に生成されます。これは、最初に XML を読み取ってタイトルを確認する必要があるためです。私が試した典型的ないいねまたはシェアコードはすべて、共有しているページのタイトルとして「ベースタイトル」を引き出します。また、ページ テンプレートの外部に存在するコンテンツ内の画像やテキストを取得することもありません。エルゴ、彼らは私には役に立たない。

編集 #3: サンプル URL を facebook デバッガー ツールに入れてみたところ、奇妙なことに気付きました。リダイレクト セクションの下の元の URL は正しいものでしたが、「rel="canonical"」URL はベース テンプレートの URL です。元の URL には、取得する XML を PHP コードに知らせる HTML 引数があります。「スクレイピングされた URL」は、引数が指定されていない場合に何が起こるかを示しています。これが役立つかどうかはわかりません。

4

1 に答える 1

1

エンドポイントは、sharer.phpしばらくの間廃止されています。私がSOで見ていることから、Facebookは現在それを無効にしているようです. これに依存して動作するべきではありません。サンプル チュートリアルの日付はありませんが、コメントは 2011 年 7 月にさかのぼります。

Facebook Share コードの現在の実装は、宛先ページのメタデータを解析し、その情報を使用します。

あなたの説明によると、XML ファイルを解析する前に呼び出しているようget_header()で、「ベース タイトル」がページ メタデータに表示されています。そんなことはできません。最初に XML を解析してから、 を呼び出す必要がありますget_header()。XMLheader.phpファイルから正しいデータを取得し、それを使用してメタデータを生成するには、おそらくカスタマイズする必要もあります。

于 2012-09-30T21:22:03.327 に答える