web-dev-qa-db-ja.com

商品ページの簡単な説明の後にテキストを追加する問題

Woocommerceの簡単な説明の後にテキストを追加しようとしています。次のような追加アクションを思いついたのですが、使用すると、既存の短い説明テキストが置き換えられます。

置き換えずに既存の簡単な説明の後にこれを追加する方法はありますか?

function show_shipping_price() {
    echo 'Order within <b>3 hours 27 minutes</b> to get it delivered for <b>only £1</b>';
}
add_filter( 'woocommerce_short_description', 'show_shipping_price' );
2
tman16

Add_filterを書くための正しい構文

// Define the woocommerce_short_description callback  
function filter_woocommerce_short_description( $post_excerpt )   {  
    // make filter magic happen here...
    return $post_excerpt;
};
// add the filter
add_filter( 'woocommerce_short_description',filter_woocommerce_short_description',10, 1 );

その理由は、フィルタを使って出力を変更しているからです。これはあなたが得る$post_excerptパラメータを得る関数パラメータで、フィルタが変更していない場合に表示されます。あなたがあなたの目的を達成したいならば、あなたはあなたが望む文字列を$post_excerptと共に返すことができます。あなたはちょうど私がのような機能で言及した上記のコードを変更する必要があります

function filter_woocommerce_short_description( $post_excerpt )   {
    $your_msg='Order within <b>3 hours 27 minutes</b> to get it delivered for <b>only £1</b>';
    return $post_excerpt.'<br>'.$your_msg; 
}

これを試してみて、それがうまくいくかどうかを判断してください。

5
WisdmLabs