0

Facebookの「ステータスボックス」のようなものをサイトに追加しようとしていますが、リンク機能だけを使用しています。明確にするために、誰かがリンクを共有しているときに、タイトル、説明、および画像 (メタ タグ) を含む投稿をサイトが自動的に作成するようにしたいと考えています。wp-web-scraper を使用しましたが、データをスクレイピングするだけで、このツールを使用して投稿を作成することはできません。それで、これを達成するのに役立つアウェイまたはツールを知っている人はいますか? ウェブサイトをスクレイピングするときにメタタグに依存するだけなので、もっと単純だと思いませんか? 前もって感謝します

4

1 に答える 1

0

関数内に、FB.ui()ポストする応答メソッド (AJAX または通常の HTTP POST のいずれか) をそれ自体に追加します。

function(response) {
            if (response && response.post_id) {
                var form = document.createElement('form');
                form.setAttribute('method', 'POST');
                form.setAttribute('name', 'cpnfrm');
                var hiddenField = document.createElement('input');
                hiddenField.setAttribute('type', 'hidden');
                hiddenField.setAttribute('name', 'key');
                hiddenField.setAttribute('value', g);
                form.appendChild(hiddenField);
                document.body.appendChild(form);
                form.submit();
            }

g は何らかの値 (おそらくスクリプトのデータの配列) です。これから、スクリプトで有効な POST を確認し、それを使用して投稿の初歩的な例を作成します。

if(!empty($_POST['key']){
    $post = array(
        'comment_status' => 'closed',
        'post_name' => 'name',
        'post_title' => 'title',
        'post_content' => 'content'
    );
    $inserted = wp_insert_post($post);
    // add_post_meta($inserted, 'meta_key', 'meta_value');
}

wp_insert_post の応答を ID として使用できます。失敗した場合は false を返す必要があります。これですべてがうまくいくわけではないことに注意してください.jsをいじっている人を検出するためにいくつかのキャッチを入れる必要がありますが、それは出発点になるはずです.

お役に立てれば。

于 2013-08-04T14:36:12.237 に答える