PHP在循环Wordpress中包装自定义项

时间:2016-04-27 06:12:45

标签: php wordpress

我目前正在创建一个由产品组成的滑块。 目前我已经设法使用以下代码包装div中的每2个项目:

  <div class="frame crazy" id="crazy">
  <div class="slidee">
  <?php if ( $myposts->have_posts() ) :  
    $i = 0;
    while ( $myposts->have_posts() ) : $myposts->the_post();    
    $image = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_id() ), 'single-post-thumbnail' ); 
    $value = get_field( "alternate_image", get_the_id() );
    $titl = get_field( "title", get_the_id() );
    $big = get_field( "big_section", get_the_id() );
     if ( $i % 2 ==  0) : ?>
      <div class="op" <?if ($big==1){?>style="width:850px !important;"<?}?>>
      <?php endif; 
      $_pf = new WC_Product_Variable(get_the_id());
      $variations =     $_pf->get_available_variations();
      $vrt = count($variations);
      ?>
      <div data-hv="<?php echo $value; ?>" data-titleContent="<a href='<?php echo get_the_permalink();?>'><?php echo get_the_title(); ?></a>" data-tipso-content="<span class='varaition'>this item has <?php echo $vrt; ?> variation(s)</span><a class='bty' href='<?php echo get_the_permalink(); ?>'>details</a>" data-url="<? echo the_permalink(); ?>" class="cola <?php if($big==1){?>big<?}?>" style="background-image: url('<?php echo $image[0]; ?>')" data-mg="<?php echo $image[0];?>">
      <?php if($titl==1) { ?>
      <h2><a href='<?php echo get_the_permalink();?>'><?php echo get_the_title(); ?></a></h2>
      <p class="slu"><a href='<?php echo get_the_permalink();?>'>shop now ></a> </p>
      <?php } ?>
            </div>
      <?php if ( $i % 2 != 0 ) : ?>
      </div>
      <?php endif; ?>

        <?php $i++; endwhile;  ?>

            <?php if ( $i % 2 != 0 ) : ?>
                </div>
            <?php endif; ?>

    <?php endif;?>
  </div>
  </div>

此代码包含这两个产品:

<div class="op">
<div class="product1">
//content
</div>
<div class="product2">
//content
</div>
</div>
<div class="op">
<div class="product3">
//content
</div>
<div class="product4">
//content
</div>
</div>

但我需要根据产品元提取自定义数量的帖子。所以产品的数量可以这样变化:

<div class="op">
<div class="product1">
//content
</div>
<div class="product1">
//content
</div>
<div class="product1">
//content
</div>
<div class="product1">
//content
</div>
<div class="op">
<div class="product1">
//content
</div>
<div class="product1">
//content
</div>
</div>

是否有可能使用产品元或任何更好的想法?

1 个答案:

答案 0 :(得分:0)

代码中的这一行:

if ( $i % 2 ==  0) : ?>

包含循环编号,将其更改为变量并从元数据中设置该变量,因此:

$loopmeta=metadata_retriever();
if ( $i % $loopmeta == 0 ) : ?>

您必须编写metadata_retriever()函数并对$loopmeta变量的检索进行一些错误检查,以确保它作为有效整数返回(不是0,例如12.735): - ))