0

2 つのカスタム投稿タイプを作成し、それぞれにいくつかのカテゴリがあります。1 つのクエリを実行し、マークアップの異なるセクションで両方の投稿タイプ (「問題」、「解決策」) の結果を返す必要があります。各「ヒント」の ID に依存する大量の jquery を書き換えずにマークアップを変更することはできません。さまざまなループを試しましたが、成功しませんでした。誰かが私に洞察を与えることができますか?以下のWordPressループ:

<?php get_header(); ?>

<?php 
$args = array(
    'post_type' => array('problems', 'solutions'),
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => array('my-category')
        )
    )
);
$loop = new WP_Query( $args );
    $tipID = array('tip-1','tip2','tip-3','tip-4','tip-5');
$tipID_count = count($tipID);
$tipID_index = 0;
while($loop->have_posts()) : $loop->the_post();
?>

<div class="tooltip" <?php $k = $tipID_index % $tipID_count; echo "id=#$tipID[$k]"; $tipID_index++; ?>>
    <dl>
        <dt><a href="" class="imageText">1</a></dt>
<!--///////problems\\\\\\\-->
            <dd class="problem">
                <span class="close pull_right"><a href="" class="imageText">close</a></span>
                    ...do stuff
                <div class="tip-foot"></div>
            </dd>
<!--///////solutions\\\\\\\-->
            <dd class="solution">
                <span class="close pull_right"><a href="" class="imageText">close</a></span>
                    ...do stuff
                <div class="tip-foot"></div>
            </dd>

        </dl>
    </div>

<?php endwhile; ?>
4

1 に答える 1

0

$problems_arr と $solutions_arr の 2 つの配列を作成し、問題の投稿 ID を問題の配列に配置し、解決策の投稿 ID を解決策の配列に配置できます。

このコードはテストされていませんが、これは例です:

$problems_arr = array();
$solutions_arr = array();
while($loop->have_posts()) : $loop->the_post();
    if(get_post_type() == 'problems')
       array_push($problems_arr, get_the_ID());
    else
       array_push($solutions_arr, get_the_ID());
endwhile;
for(i = 0; i<count($problems_arr); i++){
?>
   <div class="tooltip" <?php $k = $tipID_index % $tipID_count; echo "id=#$tipID[$k]"; $tipID_index++; ?>>

投稿 ID を使用して、投稿のコンテンツを表示できます。

echo apply_filters ('the_content', get_post_field ('post_content', $problems_arr[i]))

大量のメモリを消費するため、投稿コンテンツを配列に保存したくないので、投稿 ID だけを保存します。

于 2013-02-10T01:04:26.290 に答える