3

これは、テンプレート content-product.php の基本コードです。

<li <?php post_class( $classes ); ?>>

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

<a href="<?php the_permalink(); ?>">

    <h3><?php the_title(); ?></h3>
    <?php
        /**
         * woocommerce_before_shop_loop_item_title hook
         *
         * @hooked woocommerce_show_product_loop_sale_flash - 10
         * @hooked woocommerce_template_loop_product_thumbnail - 10
         */
        do_action( 'woocommerce_before_shop_loop_item_title' );
    ?>


    <?php
        /**
         * woocommerce_after_shop_loop_item_title hook
         *
         * @hooked woocommerce_template_loop_price - 10
         */
        do_action( 'woocommerce_after_shop_loop_item_title' );
    ?>

</a>

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

問題は、メイン ページにすべての製品についてもっと多くの情報を表示する必要があるということです。ここでは、タイトル、画像、価格、カートに追加ボタンのみが表示されます。簡単な説明、属性、カスタムフィールドなどを表示できる必要があります...

どうすればこれを達成できますか?

よろしく。

4

4 に答える 4

4

いくつかのフックを追加する必要があるようです。

これを行う方法に関するリファレンスは次のとおりです。 http://codex.wordpress.org/Function_Reference/add_action

「woocommerce_after_shop_loop_item_title」または「woocommerce_before_shop_loop_item_title」のいずれかにフックを追加する別のプラグインを作成することをお勧めします。

次に、カスタム関数内に、必要な情報を追加します。

さらに良いことに、このファイルのソース コードを調べたところ、このファイルをコピーしてテーマの yourtheme/woocommerce/content-product.php に配置するだけで、ファイル全体をオーバーライドできると書かれています

そうすれば、そのファイルに直接調整を加えることができます。

簡単な説明を追加するには、 wordpress が提供するthe_excerpt()関数を使用します。

于 2013-05-20T13:45:55.243 に答える
1

簡単な説明を追加するには、次のコードを目的の場所に追加してください。

?>
<p class="xxx">
<?php echo $post->post_excerpt; ?>
</p>
<?php

たとえば、タイトルの下に追加するには、下に置くだけです

do_action( 'woocommerce_after_shop_loop_item_title' );

スタイルについては、css で管理させていただきます。

下手な英語ですみません。

于 2018-04-04T09:10:30.577 に答える
0

content-single-product.php から php スクリプトをコピーして、テンプレート content-product.php に表示できます。HTML と CSS を使用して要素を制御できるため、この方法をお勧めします。

于 2015-04-23T08:52:02.627 に答える
0

このコードを試してください。私はものの順序をカスタマイズして、画像が上ではなく下にあるようにしましたが、すべてのバリエーションが表示されます。私ができない唯一のことは、スペースを節約するためだけに積み重ねるのではなく、2つのクラスを連続して配置することですが、私のPHPは限られています。誰かがこれに追加して、より良いテーブルにカスタマイズできる場合は、それについて聞いてみたい.

    <?php
/**
 * The template for displaying product content within loops.
 *
 * Override this template by copying it to yourtheme/woocommerce/content-product.php
 *
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 2.4.0
 */

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

global $product, $woocommerce_loop;

// Store loop count we're currently on
if ( empty( $woocommerce_loop['loop'] ) ) {
	$woocommerce_loop['loop'] = 0;
}

// Store column count for displaying the grid
if ( empty( $woocommerce_loop['columns'] ) ) {
	$woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 4 );
}

// Ensure visibility
if ( ! $product || ! $product->is_visible() ) {
	return;
}

// Increase loop count
$woocommerce_loop['loop']++;

// Extra post classes
$classes = array();
if ( 0 == ( $woocommerce_loop['loop'] - 1 ) % $woocommerce_loop['columns'] || 1 == $woocommerce_loop['columns'] ) {
	$classes[] = 'first';
}
if ( 0 == $woocommerce_loop['loop'] % $woocommerce_loop['columns'] ) {
	$classes[] = 'last';
}
?>
<li <?php post_class( $classes ); ?>>

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

<?php

		/**
		 * remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
                 * remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
                 * remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
                 */
                do_action( 'woocommerce_single_product_summary' ); 


	?>

	<a href="<?php the_permalink(); ?>">	

	<?php
			
                         /**
			 * woocommerce_before_shop_loop_item_title hook
			 *
			 * @hooked woocommerce_show_product_loop_sale_flash - 10
			 * @hooked woocommerce_template_loop_product_thumbnail - 10
			 */
			do_action( 'woocommerce_before_shop_loop_item_title' );          

			/**
			 * woocommerce_shop_loop_item_title hook
			 *
			 * @hooked woocommerce_template_loop_product_title - 10
			 */
			do_action( 'woocommerce_shop_loop_item_title' );

			/**
			 * woocommerce_after_shop_loop_item_title hook
			 *
			 * @hooked woocommerce_template_loop_rating - 5
			 * @hooked woocommerce_template_loop_price - 10
			 */
			do_action( 'woocommerce_after_shop_loop_item_title' );
		?>

	</a>

	

</li>

于 2015-09-25T20:46:00.930 に答える