2016-08-11 16 views
0

私はWordpressには比較的新しいです。だから、これは最良のアプローチではないかもしれません。それが言われて、私はより良い解決に開いています。Wordpressはもっとボタンをクリックして投稿をクリックしてください。

私は最新の12の投稿を表示するホームページを持っています。これは私のポスト13〜16の詳細をロードします

<?php query_posts('showposts=4&offset=12'); ?> 
<?php while (have_posts()): the_post(); ?> 
    //some html tags 
<?php endwhile; ?> 

: は、私は次の4

をロードしますクリックしたときに私が現在持っていることはこれですというボタンを作りたいです。

私はこれを関数に入れ、オフセットのための何らかの種類のカウンタを使用できるjquery click()イベントを通して呼び出す方法を探しています。何かのように

var offSetCounter = 12; 

$(".btnLoadMore").click(function(){ 
    //php function call 
    loadmore(offSetCounter); 
    offSetCounter += 4; 
}); 

次回私はボタンをクリックすると、offSetCounterは16となるでしょう。

ありがとうございました。

PHP:

add_action('wp_ajax_nopriv_show_next_posts', 'show_next_posts'); 
function show_next_posts() { 
    $offset = $_POST['offset']; 
    $the_query = new new WP_Query(array('posts_per_page' => 4, 'offset' => $offset)); 



    while ($the_query->have_posts()) { 
     $the_query->the_post(); 
     echo '<div class="post_container">' . get_the_title() . '</div>'; 
    } 
    wp_reset_postdata(); 
    wp_die(); 
    return; 
} 

add_action('wp_head','add_ajaxurl'); 
function add_ajaxurl() { 
    $ajaxurl = admin_url('admin-ajax.php'); 
    echo '<script type="text/javascript"> 
     var ajaxurl ='.$ajaxurl.'; 
    </script>'; 

} 

JS:

jQuery('.btnLoadMore').click(function(){ 
    var offset = jQuery('.post_container').length(); 
    var data = { 
     'action': 'show_next_posts', 
     'offset': offset 
    }; 

    jQuery.post(ajaxurl, data, function(response) { 
     console.log(response); 
    }); 
}); 
+0

loadmore(offSetCounterが)何をするのでしょう – stweb

+0

これは、最初のブロックのコードを呼び出すカスタムPHP関数となることを望んでいます – Radizzt

+0

js/JQueryコードでは、PHPにのみajaxリクエストを起動できますが、PHP自体は起動できません。 – stweb

答えて

0

はこれを試してWordpressの上で実行するには?
関連する問題