web-dev-qa-db-ja.com

Ajax経由で読み込まれた場合、埋め込みTwitterフィードはうまく表示されません

ツイートのURLをあなたの投稿に貼り付けると、Wordpressはそれをうまくレンダリングします。

しかし、私がAjax経由で投稿をロードした場合、URLはBlockquoteに置き換えられますが、うまく表示されたものには置き換えられません。 BlockquoteのクラスはTwitter-Tweetであり、Twitter-Tweet-renderedをすべての追加のものと一緒に意図したとおりに使用することはできません。

これは、Ajaxを介してロードされたものです。

enter image description here

そしてこれは通常のリクエストで読み込まれるようなものです。

enter image description here

そのTwitterフィードをレンダリングするために実行できるJavascriptアクションはありますか?

これは私がそれをロードする方法です:

        $.ajax({
            url: link, // this is generated via the "next_posts" link
            success: function(respond) {

                // get the right content
                var $result = $(respond).find('.content article');

                // append the content
                $('.content').append( $result );

            },
            error: function(html) {
            }
        });

代替のAjaxリクエスト:

    $.post(
        my_global.ajaxurl,
        {
            action : 'return_Tweet_post'
        },
        function( respond ) {
                    // append it
                }

そしてそれに対するPHPアクション:

add_action( 'wp_ajax_nopriv_return_Tweet_post', 'return_Tweet_post' );
add_action( 'wp_ajax_return_Tweet_post', 'return_Tweet_post' );
function return_Tweet_post() {
    $my_query = new WP_Query('p=1165');
    if( $my_query->have_posts() ) {
        while ($my_query->have_posts()) {
            $my_query->the_post(); 

            the_content();
        }
    }
    exit;
}

同じ結果が得られます。

1
xsonic

はい、わかった。

埋め込む必要があります

<script src="//platform.Twitter.com/widgets.js" charset="utf-8"></script>

手動で

そして投稿を追加した後にtwttr.widgets.load();を起動します。

とにかく、Thx

2
xsonic