首页 > 解决方案 > Woocommerce:更改商店目录页面上产品标题、价格和描述的顺序

问题描述

如何在 Woocommerce 的商店目录页面上更改产品标题、价格和描述的顺序?

有我的代码:

<?php

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

//Remove Single Product Hooks
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );

//Add Single Product Hooks
add_action( 'woocommerce_single_product_summary', 'blade_grve_woo_single_title', 5 );
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );

?>

<?php
	 do_action( 'woocommerce_before_single_product' );

	 if ( post_password_required() ) {
	 	echo get_the_password_form();
	 	return;
	 }

?>

<?php if ( function_exists( 'wc_product_class' ) ) { ?>
<div id="product-<?php the_ID(); ?>" <?php wc_product_class(); ?>>
<?php } else { ?>
<div id="product-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php }  ?>

	<div class="grve-container">
		<?php
			do_action( 'woocommerce_before_single_product_summary' );
		?>

		<div id="grve-entry-summary" class="summary entry-summary grve-bookmark">

			<?php
				do_action( 'woocommerce_single_product_summary' );
			?>

		</div><!-- .summary -->
	</div>

	<?php
		do_action( 'woocommerce_after_single_product_summary' );
	?>

</div><!-- #product-<?php the_ID(); ?> -->

<?php do_action( 'woocommerce_after_single_product' );

我不擅长 PHP,但我想先显示标题(在循环的顶部)。我能做什么?

提前致谢!

标签: phpwordpresswoocommercehook-woocommerce

解决方案


如果您指的是单个产品页面,这里是与此操作挂钩的功能列表。

/**
 * Product Summary Box.
 *
 * @see woocommerce_template_single_title()
 * @see woocommerce_template_single_rating()
 * @see woocommerce_template_single_price()
 * @see woocommerce_template_single_excerpt()
 * @see woocommerce_template_single_meta()
 * @see woocommerce_template_single_sharing()
 */
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );

要更改顺序,请进入您的 functions.php 并从具有不同优先级的操作中添加或删除某些功能。这会将产品摘要放在标题之后,但在评级和价格之前。

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 7 );

推荐阅读