web-dev-qa-db-ja.com

WordPressで投稿の画像にTwitterの意図を使用することはできますか

私は私のテーマの一部としてTwitter Intentsを使用しており、Twitterで投稿のURLを共有することができます。ただし、共有投稿の画像を表示できるようにしたいです。それでも可能ですか?私はTwitterのカードを利用しようと思っていました: https://dev.Twitter.com/cards/overview それは実行可能な解決策ですか?自分がやろうとしていることがさらに可能であるかどうかを理解しようとしていると思います。

これはコードからの抜粋です。

<div class="myclass>
<a href="https://Twitter.com/intent/tweet?text=<?php echo urlencode( the_permalink() ) ?>" target="_blank"><i class="icon-Twitter"></i></a>
</div>

ご協力いただきありがとうございます。

1
paranza

私は次のようになりました。

function my_Twitter_cards() {
    if (is_singular()) {
        global $post;
    $Twitter_user = str_replace('@', '', get_the_author_meta('Twitter'));
    $Twitter_url = get_permalink();
    $Twitter_title = get_the_title();
    $Twitter_excerpt = get_the_excerpt();
    $twittercard_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full');
    $twittercard_thumb = $twittercard_image[0];
    if ($Twitter_user) {
        echo '<meta name="Twitter:creator" content="@' . esc_attr($Twitter_user) . '" />' . "\n";
    }
    echo '<meta name="Twitter:card" content="summary" />' . "\n";
    echo '<meta name="Twitter:url" content="' . esc_url($Twitter_url) . '" />' . "\n";
    echo '<meta name="Twitter:title" content="' . esc_attr($Twitter_title) . '" />' . "\n";
    echo '<meta name="Twitter:description" content="' . esc_attr($Twitter_excerpt) . '" />' . "\n";
    echo '<meta name="Twitter:image" content="' . esc_url($twittercard_thumb) . '" />' . "\n";
    }
}
add_action('wp_head', 'my_Twitter_cards');
0
paranza

はい、あなたが実装したいのはカードです。これは基本的にあなたのサイトにメタデータを注入するという概念であり、Twitterにそれをどのように見せたいのかを伝えます。もしあなたがコードを使ってそれをやりたければ、あなたはそれを次のような何かをして実行することができます(必要最低限​​のバージョン):

add_action( 'wp_head', 'wpse_add_Twitter_metadata' );
function wpse_add_Twitter_metadata() {
    global $post;
    printf(
        '<meta name="Twitter:card" content="summary" />
        <meta name="Twitter:title" content="%s" />
        <meta name="Twitter:description" content="%s" />
        <meta name="Twitter:image" content="%s" />',
        get_the_title( $post ),
        get_the_excerpt( $post ),
        get_the_post_thumbnail_url($post)
    );
}

それが設定されていると、誰かがあなたのページをWebの意図やURLをコピーして貼り付けることで共有するとき、Twitterは適切なプレビューを生成するのに必要な情報を持つべきです。そうは言っても、私は個人的にはこのようなことをするためにプラグインに頼っています。ソーシャルメディアAPIとこのような統合は常に変化しており、 Yoast SEO のような無料のプラグインは、それを自分で実装する必要なしに処理します。

1
brianjohnhanna