私は現在、WPに特定の量(24)のカスタム投稿タイプを表示するために、またプロジェクトカテゴリを使って投稿を動的にフィルタリングするために、次のコードを使用しています。Wordpress投稿タイプ無制限スクロール/ロードmoreボタン
これは、アイソトープフィルタリングを使用して、これらの命令からいくつかの変更を加えて作成されました。 https://www.aliciaramirez.com/2014/03/integrating-isotope-with-wordpress/
更新:Marissaコメントの後、これは私のコードがフィルタをどのように見えるかです。
<div class="loadMore" data-offset="0" data-total="25">
Load More
</div>
「データ・オフセット」負荷よりボタンは、「データ・トータル」とにもたらしている出力HTMLで
<?php
global $post;
$the_offset = trim(sanitize_text_field(wp_unslash($_POST['pOffset'])));
$the_total = trim(sanitize_text_field(wp_unslash($_POST['totalPosts'])));
$args = array('post_type' => 'bw_projects', 'posts_per_page' => 12, 'offset' => $the_offset);
$posts_shown = $the_offset; //Increment this every time you display a project
?>
<?php while ($the_query->have_posts()) : $the_query->the_post();
$termsArray = get_the_terms($post->ID, "project_categories"); //Get the terms for this particular item
$termsString = ""; //initialize the string that will contain the terms
foreach ($termsArray as $term) { // for each term
$termsString .= $term->slug.' '; //create a string that has all the slugs
}
?>
<li class="<?php echo $termsString; ?>item project home-project"> <?php // 'item' is used as an identifier (see Setp 5, line 6) ?>
<a href="<?php echo get_permalink($post->ID); ?>">
<?php the_post_thumbnail(); ?>
<span class="text-content"><span><img src="<?php the_field('client_logo'); ?>" alt="" class=""></span></span>
</a>
</li> <!-- end item -->
<?php endwhile; ?>
</ul> <!-- end isotope-list -->
<?php endif; ?>
<?php } ?>
<?php //Then check if we've shown all the posts or not, and we're done.
if ($posts_shown >= $the_total) { ?>
<div id="all-posts-shown"></div>
<?php } ?>
:
<?php $args = array('post_type' => 'bw_projects', 'posts_per_page' => 18); ?>
<?php $the_query = new WP_Query($args); ?>
<?php if ($the_query->have_posts()) : ?>
<ul class="img-list" id="isotope-list">
<?php $total_posts = wp_count_posts('bw_projects');
$total_posts = $total_posts->publish;
$number_shown = 0; ?>
<?php while ($the_query->have_posts()) : $the_query->the_post();
$termsArray = get_the_terms($post->ID, "project_categories"); //Get the terms for this particular item
$termsString = ""; //initialize the string that will contain the terms
foreach ($termsArray as $term) { // for each term
$termsString .= $term->slug.' '; //create a string that has all the slugs
}
?>
<li class="<?php echo $termsString; ?>item project home-project"> <?php // 'item' is used as an identifier (see Setp 5, line 6) ?>
<a href="<?php echo get_permalink($post->ID); ?>">
<?php the_post_thumbnail(); ?>
<span class="text-content"><span><img src="<?php the_field('client_logo'); ?>" alt="" class=""></span></span>
</a>
</li> <!-- end item -->
<?php endwhile; ?>
</ul> <!-- end isotope-list -->
<?php endif; ?>
<?php if ($number_shown < $total_posts) { ?>
<div class="loadMore" data-offset="<?php echo $number_shown; ?>" data-total="<?php echo $total_posts; ?>">
Load More
</div>
<?php } ?>
マイloadmoreファイルには、この現在の状態になっています
以上の負荷がオフセットの変更をクリックします
<div class="loadMore" data-offset="12" data-total="25">
Load More
</div>
余分な投稿は表示されません。私は何かを逃したに違いないと思う。
こんにちは、マリッサ、ありがとうございます。私はあなたのコードを私が知っている限り最高に実装しました。私はエラーメッセージが表示されていない、と私はまた、 "より多くの負荷"ボタンを見ることができます。クリックすると、続きのボタンが読み込まれ、新しい金額のデータオフセットは変更されますが、追加のポストが読み込まれます。申し訳ありませんが、私はこれで非常に良くない何か間違ったことをしたに違いないでしょう私はあなたのために自分のコードを更新しました – Chris
こんにちはクリス、あなたのjqueryコードを表示できますか? –
また、実際にはloadmoreファイルに新しいクエリを作成していないことに気づいたので、より多くの投稿を読み込んでいません。<?php $ the_query = new WP_Query($ args);を追加します。 ?>新しいargs配列を設定した後 –