0
<?php if (in_category('3')) {
        $args = array(
        'cat' => 'Japan',
        'orderby' => 'meta_value_num', 
        'meta_key' => 'japan_id',
        'order' => 'ASC',
        );
        $the_query = new WP_Query( $args );

        } elseif (in_category('5')) {
        $args = array(
        'cat' => 'Borneo',
        'orderby' => 'meta_value_num', 
        'meta_key' => 'borneo_id',
        'order' => 'ASC',
        );
        $the_query = new WP_Query( $args );}?>

        <?php while ( $the_query->have_posts() ) : $the_query->the_post();?> 
        <?php $status = get_post_meta($post->ID, 'status', true); ?><?php $finishdate = get_post_meta($post->ID, 'finishdate', true); ?>
        <a href="<?php the_permalink(); ?> " rel="favourite" title="<?php the_title(); ?>"><?php the_post_thumbnail('featured-thumbnail'); ?></a>
        <?php endwhile; ?>
        <?php
       // Reset Post Data
       wp_reset_postdata();?>

みなさん、こんにちは。私はifとelseifをチェックしようとしています:

  • この単一の投稿がカテゴリ3に属する場合
  • この投稿の情報を取得します(カテゴリ名、ASC順でこのmeta_keyのメタ値番号による順序)
  • それ以外の場合、この単一の投稿がカテゴリ5に属している場合
  • この投稿の情報を取得...ASCの順序で

しかし、「致命的なエラー:オンラインの...の非オブジェクトでメンバー関数have_posts()を呼び出す...」というエラーが発生し続けます。からのすべての投稿のすべての注目のサムネイルを表示したいシングルポストと同じカテゴリ。

シングル投稿の例: http://ethanlimphotos.com/2012/04/19/orangutan-grabs-legs 注目のサムネイルスクロールは次のように表示されますhttp://ethanlimphotos.com 注目のサムネイルをインデックスページでスクロールしたいシングルページでも動作します。助けてください、ありがとう!:D

4

1 に答える 1

0

カスタムループを実行したいときにほとんどの人が新しいオブジェクトを作成している理由が本当にわかりません:)これはあなたが例を見た方法なのか、それとも別の理由があるからですか(私は本当に興味があります:) ) .

とにかく、カスタム ループが必要な場合の方法は、 を呼び出しquery_posts()、通常のループを使用してから、クエリ変数を でリセットすることhave_posts()です。したがって、このアプローチを使用すると、コードは次のようになります。the_post()wp_reset_query()

<?php if (in_category('3')) {
    $args = array(
    'cat' => 'Japan',
    'orderby' => 'meta_value_num', 
    'meta_key' => 'japan_id',
    'order' => 'ASC',
    );
    query_posts( $args );
} elseif ( in_category( '5' ) ) {
    $args = array(
        'cat' => 'Borneo',
        'orderby' => 'meta_value_num', 
        'meta_key' => 'borneo_id',
        'order' => 'ASC',
    );
    query_posts( $args );
}?>

<?php while ( have_posts() ) : the_post(); ?> 
    <?php $status = get_post_meta($post->ID, 'status', true); ?><?php $finishdate = get_post_meta($post->ID, 'finishdate', true); ?>
    <a href="<?php the_permalink(); ?> " rel="favourite" title="<?php the_title(); ?>"><?php the_post_thumbnail('featured-thumbnail'); ?></a>
<?php endwhile; ?>
<?php
// Reset the query data
wp_reset_query();?>
于 2012-11-25T16:32:13.043 に答える