Php 创建两个在循环中重复的唯一类
我想制作两个独特的类,比如class1、class2到6或7,添加到商店循环中的6或7个产品中。 我想让这6/7的产品与独特的类加倍,使其成为12/14在卡塔拉古商店页面上的产品 我试着编辑content-product.php文件和archive-page.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++); ?>"> 好的,我找到
<?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' );