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&p[title]=<?php echo $title;?>&p[summary]=<?php echo $summary;?>&p[url]=<?php echo $url; ?>&&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」は、引数が指定されていない場合に何が起こるかを示しています。これが役立つかどうかはわかりません。