2017-02-12 4 views
1

商品の抜粋を詳しい説明と交換したいと思います。今すぐ私は次のコードを使用しています:抜粋の代わりに説明を表示し、単語を制限して追加してください。

remove_action('woocommerce_single_product_summary',  
'woocommerce_template_single_excerpt', 20); 
add_action('woocommerce_single_product_summary', 'the_content', 10); 

上記のコードは、仕事をしますが、それは完全な説明を表示します。私は何とか表示されている単語(長さ)を制限し、最後に「もっと読む」ボタンを追加したいと思います。

+2

長い説明では製品の詳細を読むことはできません。これは、タブにコンテンツを表示するためのものではありません。 – Yasir

答えて

1

ちょうどget_the_contentの値を処理するための新しい関数を作成()の単語のみ最大数を取得し、最後に「続きを読む」のリンクを追加します。次に

function custom_single_product_summary(){ 
    $maxWords = 50; // Change this to your preferences 
    $description = strip_tags(get_the_content()); // Remove HTML to get the plain text 
    $words = explode(' ', $description); 
    $trimmedWords = array_slice($words, 0, $maxWords); 
    $trimmedText = join(' ', $trimmedWords); 

    if(strlen($trimmedText) < strlen($description)){ 
    $trimmedText .= ' &mdash; <a href="' . get_permalink() . '">Read More</a>'; 
    } 

    echo $trimmedText; 
} 

元にそれを使用しますあなたが使用しようとしていたオーバーライド・コード:

remove_action('woocommerce_single_product_summary',  
'woocommerce_template_single_excerpt', 20); 
add_action('woocommerce_single_product_summary', 'custom_single_product_summary', 10); 

UPDATED ANSWER: はVALUをエコーするために、アクションフックを変更eを返すのではなく、WooCommerceが出力を印刷することを期待しているからです。

+0

ご返信ありがとうございます。しかし、製品の「抜粋」部分にはまだ何も表示されません。 – user2093301

+0

最新の回答をご覧ください。その動作は、出力を機能から戻すのではなく、出力をエコーし​​て機能させるために必要でした。 – ablopez

関連する問題