1

Wordpress で ajax リクエストを使用して投稿のコンテンツを取得しました。その投稿では Visual Composer を使用しました。しかし、コンテンツは実際のコンテンツに変更せずにVCショートコードのみを表示します..それは私が使用したコードです

add_action( 'wp_ajax_drpk_custom','drpk_custom' );
add_action( 'wp_ajax_nopriv_drpk_custom','drpk_custom' );
function drpk_custom(){
if(isset($_REQUEST)){
    $id = $_REQUEST['id'];

    $query = new WP_Query(array('p'=>$id));
    if($query->have_posts()):
        while($query->have_posts()): $query->the_post();?>
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel"><?php the_title() ?></h4>
      </div>
      <div class="modal-body">
         <?php the_content() ?>
      </div>
        <?php endwhile;

    endif;
}
wp_die();  }

そして、このjQueryコード

    $('.cart-item').find('a').on('click',function(){
    var postID      = $(this).data('id'),
        ajaxContent = $('.modal-content');
        $.ajax({
            url: ajaxUrl.url,
            data: {
                'action' : 'drpk_custom',
                'id': postID
            },
            beforeSend: function(){
                // $load.fadeIn(500);
            },
            success: function(data){
                // $load.hide();
                ajaxContent.html(data);
            }
        }); 
    });

しかし、そのように返します

[vc_row][vc_column width=”1/4″][vc_single_image image=”389″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”#”][/vc_column][vc_column width=”1/4″][vc_single_image image=”390″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”#”][/vc_column][vc_column width=”1/4″][vc_single_image image=”391″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”#”][/vc_column][vc_column width=”1/4″][vc_single_image image=”392″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”#”][/vc_column][/vc_row]
4

3 に答える 3

6

バージョン 4.9 以降、ビジュアル コンポーザーにショートコードの遅延読み込みが追加されました。AJAX コンテンツで VC ショートコードを使用するには、コンテンツを印刷する前にこの関数を使用しますWPBMap::addAllMappedShortcodes();

add_action( 'wp_ajax_drpk_custom','drpk_custom' );
add_action( 'wp_ajax_nopriv_drpk_custom','drpk_custom' );
function drpk_custom(){
if(isset($_REQUEST)){
    $id = $_REQUEST['id'];

    $query = new WP_Query(array('p'=>$id));
    if($query->have_posts()):
        while($query->have_posts()): $query->the_post();
            WPBMap::addAllMappedShortcodes();
        ?>
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel"><?php the_title() ?></h4>
      </div>
      <div class="modal-body">
         <?php the_content() ?>
      </div>
        <?php endwhile;

    endif;
}
wp_die();  }
于 2016-06-25T10:10:39.763 に答える