私はajaxをwordpressで使用して、投稿のリストをクリックして投稿の内容を表示します。ajaxアクションの後にwordpressで応答をロードしました
私のAjax:
(function($) {
$(document).ready(function() {
$('.ajax_post_content').click(function() {
var post_id = jQuery(this).attr('id');
//console.log('cliqué : '+post_id);
jQuery.ajax({
url : display_post.ajax_url,
type : 'post',
data : {
action : 'display_post',
post_id : post_id
},
success : function(response) {
//alert(response)
$('.fullnews').html(response);
var thumbH = $('.fullnews .left').height();
$('.fullnews .right').css('height',thumbH+'px');
//console.log(thumbH);
}
});
});
});
})(jQuery);
私の機能:
add_action('wp_ajax_nopriv_display_post', 'display_post');
add_action('wp_ajax_display_post', 'display_post');
function display_post() {
if (defined('DOING_AJAX') && DOING_AJAX) {
$post_id = $_POST['post_id'];
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'post__in' => array($post_id)
);
$query = new WP_Query($args);
if ($query->have_posts()):
while ($query->have_posts()):
$query->the_post();
$next_post = get_next_post();
$prev_post = get_previous_post();
echo '<a id="'.$next_post->ID.'" href="#" class="ajax_post_content arrow-left"></a>';
echo '<a id="'.$prev_post->ID.'" href="#" class="ajax_post_content arrow-right"></a>';
echo '<div class="col-md-1"></div>';
echo '<div class="col-md-5 left">';
echo '<span class="title">'.get_the_title(get_the_ID()).'</span>';
echo '<div class="content">'.get_the_content(get_the_ID()).'</div>';
echo '</div>';
echo '<div class="col-md-5 right" style="background: url('.get_the_post_thumbnail_url().') center center/cover;"></div>';
echo '<div class="col-md-1"></div>';
echo '<div class="clear"></div>';
endwhile;
endif;
}
die();
}
とどのように私はワードプレスでAJAXを宣言:
wp_register_script('ajax', get_template_directory_uri().'/js/ajax.js', 'jquery', time(), true);
//wp_register_script('ajax', get_template_directory_uri().'/js/ajax.js', 'jquery', '', true);
wp_enqueue_script('ajax');
wp_localize_script('ajax', 'display_post', array(
'ajax_url' => admin_url('admin-ajax.php')
));
私の問題は、次のとおりです。内容はAjaxで表示しているとき、私はコンテンツを表示する変更するには、次の/前のボタンを追加するが、私は何のアクションも、応答がない、クリックdoesn ' jqueryでない場合のように動作します
私の英語のために申し訳ありません、私はフランス語です。
はい、それは私が考えたものだが、私が行う方法を知らなかったとヘルプを検索する方法を、このためのおかげで、私はみますすぐに! – 1way
問題ありません。答えがあなたに役立つなら、upvoteと/または受け入れられた答えとしてマークすることを忘れないでください - ありがとう:-) – ADyson
非常に非常に感謝の男!!!私はいくつかのコードで見たときにクリック "on"を正しく使う方法を知りませんでしたが、それは大丈夫です!本当にありがとう :) – 1way