私はSingle productページの見た目を変えています。 Woocommerceにフックしてcssを編集することで、いくつかのことを動かしました。
箱から出してすぐに、単一の商品ページに商品画像の横に短い説明(content-single-product.phpファイルでwoocommerce_template_single_excerptと記述されています)が表示されますが、完全な説明を表示したいです。
詳しい説明は、製品の下の製品データタブに表示されます。 tabsディレクトリのdescription.phpファイルを見ると、単に見出しが設定されているようです。おそらく商品はカスタム投稿タイプであるため、商品の説明はカスタム投稿のコンテンツです。
私は製品の短い説明セクションに完全な説明を入れることによってそれを回避しましたが、私はこれをしなければならないために誰かが製品を追加することを必要としない解決策が欲しいです。
誰かがこれを行う方法を提案できますか?
Woocommerceにより提供された少し異なる修正がここに含まれるべきだと思いました:
Templates/single-product/short-description.phpでは、次のようになります。
$post->post_excerpt
これ(2回出現)を;に置き換えます。
$post->post_content
ありがとう
テンプレートを編集する代わりに、これを試すこともできます。
<?php
/** Remove short description if product tabs are not displayed */
function dot_reorder_product_page() {
if ( get_option('woocommerce_product_tabs') == false ) {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
}
}
add_action( 'woocommerce_before_main_content', 'dot_reorder_product_page' );
/** Display product description the_content */
function dot_do_product_desc() {
global $woocommerce, $post;
if ( $post->post_content ) : ?>
<div itemprop="description" class="item-description">
<?php $heading = apply_filters('woocommerce_product_description_heading', __('Product Description', 'woocommerce')); ?>
<!-- <h2><?php echo $heading; ?></h2> -->
<?php the_content(); ?>
</div>
<?php endif;
}
add_action( 'woocommerce_single_product_summary', 'dot_do_product_desc', 20 );
私はこれをウーコマースから理解することはありませんでした...私はメインの投稿情報として '製品の説明'を、次にタブの '詳細な説明'または '追加の製品情報'を期待するでしょう。
templates/single-product/short-description.php
に置換
if ( ! $post->post_excerpt ) return;
?>
<div itemprop="description">
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
と
if ( ! the_content() ) return;
?>
<div itemprop="description">
<?php echo the_content(); ?>
それからtemplates/single-product/tabs/description.php
で置き換えます
<?php the_content(); ?>
と
<?php the_excerpt(); ?>
Price.phpでwoocommerceテンプレートを使う
add_action( 'woocommerce_after_shop_loop_item_title', 'my_add_short_description', 9 );
function my_add_short_description() {
echo '<span class="title-description">' . the_excerpt() . '</span><br />';
}