Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建两个在循环中重复的唯一类_Php_Woocommerce - Fatal编程技术网

Php 创建两个在循环中重复的唯一类

Php 创建两个在循环中重复的唯一类,php,woocommerce,Php,Woocommerce,我想制作两个独特的类,比如class1、class2到6或7,添加到商店循环中的6或7个产品中。 我想让这6/7的产品与独特的类加倍,使其成为12/14在卡塔拉古商店页面上的产品 我试着编辑content-product.php文件和archive-page.php 我已将此代码添加到内容产品文件: <?php $x = 1; ?> <li class="columns class<?php echo esc_attr($x++); ?>"> 好的,我找到

我想制作两个独特的类,比如class1、class2到6或7,添加到商店循环中的6或7个产品中。 我想让这6/7的产品与独特的类加倍,使其成为12/14在卡塔拉古商店页面上的产品

我试着编辑content-product.php文件和archive-page.php

我已将此代码添加到内容产品文件:

<?php
$x = 1;
?>
<li class="columns class<?php echo esc_attr($x++); ?>">


好的,我找到了解决办法

<?php
$x = 1;
?>
<li class="columns class<?php echo esc_attr($x++); ?>">


好的,我找到了解决办法

<?php
$x = 1;
?>
<li class="columns class<?php echo esc_attr($x++); ?>">


事实上,我的最后一个awnser有点不同。 上一个选项不适用于order by的select/options,可能还不止于此。archive-page.php的正确解决方案是:

defined( 'ABSPATH' ) || exit;

    get_header( 'shop' );

    /**
     * Hook: woocommerce_before_main_content.
     *
     * @hooked woocommerce_output_content_wrapper - 10 (outputs opening 
     divs for the content)
     * @hooked woocommerce_breadcrumb - 20
     * @hooked WC_Structured_Data::generate_website_data() - 30
     */
    do_action( 'woocommerce_before_main_content' );

    ?>
    <header class="woocommerce-products-header">
        <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
            <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
        <?php endif; ?>

        <?php
        /**
         * Hook: woocommerce_archive_description.
         *
         * @hooked woocommerce_taxonomy_archive_description - 10
         * @hooked woocommerce_product_archive_description - 10
         */
        do_action( 'woocommerce_archive_description' );
        ?>
    </header>
<?php

woocommerce_product_loop_start();

$one = 1;

if ( wc_get_loop_prop( 'total' ) ) {
    while ( have_posts() ) {
  the_post();
  ?>
  <div class="columns product<?php echo esc_attr($one++); ?>">
  <?php
        /**
         * Hook: woocommerce_shop_loop.
         *
         * @hooked WC_Structured_Data::generate_product_data() - 10
         */
        do_action( 'woocommerce_shop_loop' );

        wc_get_template_part( 'content', 'product' );
    }
}
woocommerce_product_loop_end();
?>
</div>
<?php
/**
 * Hook: woocommerce_after_shop_loop.
 *
 * @hooked woocommerce_pagination - 10
 */
do_action( 'woocommerce_after_shop_loop' );
} else {
/**
 * Hook: woocommerce_no_products_found.
 *
 * @hooked wc_no_products_found - 10
 */
do_action( 'woocommerce_no_products_found' );
}
/**
* Hook: woocommerce_after_main_content.
*
* @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the 
content)
*/
do_action( 'woocommerce_after_main_content' );
/**
* Hook: woocommerce_sidebar.
*
* @hooked woocommerce_get_sidebar - 10
*/
do_action( 'woocommerce_sidebar' );

get_footer( 'shop' );
已定义('ABSPATH')| |退出;
获取_标题(‘shop’);
/**
*钩子:在主要内容之前。
*
*@hooked-woodcommerce\u输出\u内容\u包装-10(输出打开
内容的divs)
*@hooked woodcommerce_面包屑-20
*@hooked WC_Structured_Data::generate_website_Data()-30
*/
采取行动(“在主要内容之前进行商业活动”);
?>

事实上,我的最后一个awnser有点不同。 上一个选项不适用于order by的select/options,可能还不止于此。archive-page.php的正确解决方案是:

defined( 'ABSPATH' ) || exit;

    get_header( 'shop' );

    /**
     * Hook: woocommerce_before_main_content.
     *
     * @hooked woocommerce_output_content_wrapper - 10 (outputs opening 
     divs for the content)
     * @hooked woocommerce_breadcrumb - 20
     * @hooked WC_Structured_Data::generate_website_data() - 30
     */
    do_action( 'woocommerce_before_main_content' );

    ?>
    <header class="woocommerce-products-header">
        <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
            <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
        <?php endif; ?>

        <?php
        /**
         * Hook: woocommerce_archive_description.
         *
         * @hooked woocommerce_taxonomy_archive_description - 10
         * @hooked woocommerce_product_archive_description - 10
         */
        do_action( 'woocommerce_archive_description' );
        ?>
    </header>
<?php

woocommerce_product_loop_start();

$one = 1;

if ( wc_get_loop_prop( 'total' ) ) {
    while ( have_posts() ) {
  the_post();
  ?>
  <div class="columns product<?php echo esc_attr($one++); ?>">
  <?php
        /**
         * Hook: woocommerce_shop_loop.
         *
         * @hooked WC_Structured_Data::generate_product_data() - 10
         */
        do_action( 'woocommerce_shop_loop' );

        wc_get_template_part( 'content', 'product' );
    }
}
woocommerce_product_loop_end();
?>
</div>
<?php
/**
 * Hook: woocommerce_after_shop_loop.
 *
 * @hooked woocommerce_pagination - 10
 */
do_action( 'woocommerce_after_shop_loop' );
} else {
/**
 * Hook: woocommerce_no_products_found.
 *
 * @hooked wc_no_products_found - 10
 */
do_action( 'woocommerce_no_products_found' );
}
/**
* Hook: woocommerce_after_main_content.
*
* @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the 
content)
*/
do_action( 'woocommerce_after_main_content' );
/**
* Hook: woocommerce_sidebar.
*
* @hooked woocommerce_get_sidebar - 10
*/
do_action( 'woocommerce_sidebar' );

get_footer( 'shop' );
已定义('ABSPATH')| |退出;
获取_标题(‘shop’);
/**
*钩子:在主要内容之前。
*
*@hooked-woodcommerce\u输出\u内容\u包装-10(输出打开
内容的divs)
*@hooked woodcommerce_面包屑-20
*@hooked WC_Structured_Data::generate_website_Data()-30
*/
采取行动(“在主要内容之前进行商业活动”);
?>

$x=1需要在
标记之后和产品循环之前位于产品循环之外……不幸的是,它不起作用。正如您所说,我在loop/loop-start.php中添加了
    之后的代码。它似乎只适用于$x=1与">. 也许有某种方法可以使用js添加到这些类中?
    $x=1需要在
    标记之后和产品循环之前位于产品循环之外……不幸的是,它不起作用。正如您所说,我在loop/loop-start.php中添加了
      之后的代码。它似乎只适用于$x=1与">. 也许有某种方法可以使用js添加到这些类中?这实际上不起作用,它不适合选择:例如,按选项排序。所以我在另一个答案中发布了最终的解决方案,这实际上不起作用,它不适合选择:例如,按选项排序。因此,我将在另一个答案中发布最终解决方案
      defined( 'ABSPATH' ) || exit;
      
          get_header( 'shop' );
      
          /**
           * Hook: woocommerce_before_main_content.
           *
           * @hooked woocommerce_output_content_wrapper - 10 (outputs opening 
           divs for the content)
           * @hooked woocommerce_breadcrumb - 20
           * @hooked WC_Structured_Data::generate_website_data() - 30
           */
          do_action( 'woocommerce_before_main_content' );
      
          ?>
          <header class="woocommerce-products-header">
              <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
                  <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
              <?php endif; ?>
      
              <?php
              /**
               * Hook: woocommerce_archive_description.
               *
               * @hooked woocommerce_taxonomy_archive_description - 10
               * @hooked woocommerce_product_archive_description - 10
               */
              do_action( 'woocommerce_archive_description' );
              ?>
          </header>
      <?php
      
      woocommerce_product_loop_start();
      
      $one = 1;
      
      if ( wc_get_loop_prop( 'total' ) ) {
          while ( have_posts() ) {
        the_post();
        ?>
        <div class="columns product<?php echo esc_attr($one++); ?>">
        <?php
              /**
               * Hook: woocommerce_shop_loop.
               *
               * @hooked WC_Structured_Data::generate_product_data() - 10
               */
              do_action( 'woocommerce_shop_loop' );
      
              wc_get_template_part( 'content', 'product' );
          }
      }
      woocommerce_product_loop_end();
      ?>
      </div>
      <?php
      /**
       * Hook: woocommerce_after_shop_loop.
       *
       * @hooked woocommerce_pagination - 10
       */
      do_action( 'woocommerce_after_shop_loop' );
      } else {
      /**
       * Hook: woocommerce_no_products_found.
       *
       * @hooked wc_no_products_found - 10
       */
      do_action( 'woocommerce_no_products_found' );
      }
      /**
      * Hook: woocommerce_after_main_content.
      *
      * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the 
      content)
      */
      do_action( 'woocommerce_after_main_content' );
      /**
      * Hook: woocommerce_sidebar.
      *
      * @hooked woocommerce_get_sidebar - 10
      */
      do_action( 'woocommerce_sidebar' );
      
      get_footer( 'shop' );