0

OK、私のphpはかなり悪いので、いくつかの点で私が何を意味するのか理解するのが難しいかもしれませんが、ほとんど私はワードプレスのループを持っていて、ある時点で投稿のカテゴリを取得してクラスにエコーします.

一部の投稿には複数のカテゴリがあり、両方をクラスに反映させたいと考えています。

これまでのところ、これは私がカテゴリを取得するために使用するものです

$categories = get_the_category(); 

これが私がそれらをエコーする方法です

<?php echo $categories[0]->category_nicename; ?>

私がに変更した場合

<?php echo $categories[1]->category_nicename; ?> 

2番目のカテゴリを取得しますが、それらすべてを取得したい

これは完全なコードです

<?php query_posts("post_type=portfolio"); ?>
<?php $i=0; /** start the project loop here */?>
<?php if(have_posts()):?>
<?php while(have_posts()) : the_post();?> 
<?php $i++; ?>

<?php
$image1ID = get_field('thumbnail');
$image1 = wp_get_attachment_image_src( $image1ID, '500by250-thumb' );
$attachment = get_post( $image1ID );
$image1_title = $attachment->post_title;
$categories = get_the_category(); 

?>          

    <pre>
        <?php print_r($categories) ?>
    </pre>

    <li data-type="<?php echo $categories[0]->category_nicename; ?>" data-id="id-<?php echo $i ?>" class="portfolio-thumb <?php the_field('thumb_size');?>">

        <a data-scroll="#portfolio-second" href="<?php the_permalink(); ?>" title="<?php echo $image_title; ?>">
            <div class="hover-content">
                <span class="thumb-caption"><?php the_field('thumb_caption');?></span>
                <span class="thumb-title"><?php the_title();?></span>
            </div>
            <img src="<?php echo $image1[0] ?>" alt="<?php echo $image_title; ?>">
        </a>

    </li>   

<?php endwhile; ?>
<?php else: ?>  
<?php endif; ?>
<?php wp_reset_query(); ?>
4

1 に答える 1

2

すべてのカテゴリ配列をループしたい場合は、次foreachのようなステートメントを使用できます。

<?php foreach($categories as $category){?>
    <li data-type="<?php echo $category->category_nicename; ?>" data-id="id-<?php echo $i ?>" class="portfolio-thumb <?php the_field('thumb_size');?>">

                        <a data-scroll="#portfolio-second" href="<?php the_permalink(); ?>" title="<?php echo $image_title; ?>">
                            <div class="hover-content">
                                <span class="thumb-caption"><?php the_field('thumb_caption');?></span>
                                <span class="thumb-title"><?php the_title();?></span>
                            </div>
                            <img src="<?php echo $image1[0] ?>" alt="<?php echo $image_title; ?>">
                        </a>

                    </li> 
<?php } ?>

完全なコードは次のようになります。

        <?php query_posts("post_type=portfolio"); ?>
        <?php $i=0; /** start the project loop here */?>
        <?php if(have_posts()):?>
        <?php while(have_posts()) : the_post();?> 
        <?php $i++; ?>

        <?php
        $image1ID = get_field('thumbnail');
        $image1 = wp_get_attachment_image_src( $image1ID, '500by250-thumb' );
        $attachment = get_post( $image1ID );
        $image1_title = $attachment->post_title;
        $categories = get_the_category(); 

        ?>          

            <pre>
                <?php print_r($categories) ?>
            </pre>

            <?php foreach($categories as $category){?>
    <li data-type="<?php echo $category->category_nicename; ?>" data-id="id-<?php echo $i ?>" class="portfolio-thumb <?php the_field('thumb_size');?>">

                        <a data-scroll="#portfolio-second" href="<?php the_permalink(); ?>" title="<?php echo $image_title; ?>">
                            <div class="hover-content">
                                <span class="thumb-caption"><?php the_field('thumb_caption');?></span>
                                <span class="thumb-title"><?php the_title();?></span>
                            </div>
                            <img src="<?php echo $image1[0] ?>" alt="<?php echo $image_title; ?>">
                        </a>

                    </li> 
<?php } ?>
        <?php endwhile; ?>
        <?php else: ?>  
        <?php endif; ?>
        <?php wp_reset_query(); ?>  
于 2013-03-04T22:47:52.473 に答える