0

無限スクロールでは、一度に 3 つの投稿を読み込もうとしていますが、特定のフィールド (ビデオ) が入力されている投稿のみを読み込もうとしています。

たとえば、私の最新の 2 つの投稿ではフィールド (ビデオ) が入力されていますが、3D の投稿では入力されておらず、4 番目の投稿では入力されています。投稿1、2、および4をロードして3にする原因が必要です。次に、無限スクロールにより、ビデオなどを含む次の3つの投稿がロードされます。

無限スクロールは機能し、ページネーション クエリは機能しますが、投稿 3 にはビデオ フィールドが入力されていないため、無限スクロールは投稿 1 と 2 のみをロードし、投稿 4 を追加して 3 つの投稿を完成させません。時間...

私のコード:

<div id="interviews">

<?php   $temp = $wp_query;
        $wp_query= null;
        $wp_query = new WP_Query();
        $wp_query->query('paged='.$paged.'&cat=5&showposts=3');
        while ($wp_query->have_posts()) : $wp_query->the_post();
        echo ('<ul id="infinite">');

    if (get('video_video', 1, TRUE)) {

        echo ('<li class="video">');
        $home = array("h" => 290, "w" => 380, "zc" => 1, "q" =>100);
        //echo get('video_video');
        echo ('With: ');
        echo get('participant_first_name');
        echo ('&nbsp;');
        echo get('participant_last_name');
        echo ('</li>');

        }else{ $video_video=false;
        echo ('');

         }  ?>

        <?php endwhile;?>
       </ul> 

<?php if ($wp_query->max_num_pages > 1) : ?>
<nav id="nav-below">
    <div class="nav-previous"><?php next_posts_link( __( '&larr; More', 'intowntheme' ) ); ?></div>
</nav>

<?php endif; ?>


</div><!--End interviews-->

Jquery スクリプト:

 jQuery('#interviews').infinitescroll({ 
navSelector  : "#nav-below",  // selector for the paged navigation (it will be hidden)
nextSelector : "#nav-below .nav-previous a",   // selector for the NEXT link (to page 2)
itemSelector : "li.video",  // selector for all items you'll retrieve
extraScrollPx: 50,    
loading         : {
     msgText: "<em>Loading the next year of Grantees...</em>",
    finishedMsg: "<em>You've reached the end of the Grantees.</em>"
}

});

4

2 に答える 2

0
<div id="interviews">
<?php echo ('<ul id="infinite">'); ?>
<?php 
$wp_query = new WP_Query();
$wp_query->query('paged='.$paged.'&cat=5&showposts=3&meta_key=video_video&orderby=meta_value&order=ASC'  . $post->ID);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php if ( get_post_meta($post->ID, 'video_video', true) ) : ?>
    <li class="video"><?php $home = array("h" => 290, "w" => 380, "zc" => 1, "q" =>100);
            //echo get('video_video');
            echo ('With: ');
            echo get('participant_first_name');
            echo ('&nbsp;');
            echo get('participant_last_name');
            echo ('</li>');?>

<?php endif;?>


<?php endwhile;?>

<?php if (get_post_meta($post->ID, 'video_video', true) ) { ?>
    <?php if ($wp_query->max_num_pages > 1) : ?>
        <nav id="nav-below" >
        <div id="next"><?php next_posts_link( __( 'Scroll down for more', 'intowntheme' ) ); ?></div>
    </nav>
    <?php endif; //end nav ?>
<?php } else {  ?>
<p>There are no interviews at the moment </p>
<?php }   ?>     
</ul>     
</div><!--End interviews-->
于 2012-05-25T22:26:50.540 に答える
0

get私は前にその機能を見たことがありません。どのテーブルからデータを取得するか知っていますか? の場合は、カスタム フィールド パラメーターwp_postmeta使用して、関心のあるレコードのみをデータベースから取得できる場合があります。WP_Query

何かのようなもの:

$wp_query = new WP_Query();
$wp_query->query('paged='.$paged.'&cat=5&showposts=3&meta_key=video_video&meta_value=1');

トリックを行う必要があります。

于 2012-05-25T19:52:07.887 に答える