web-dev-qa-db-ja.com

ウーコマースメッセージの再配置

私はWoocommerceテーマのメッセージを再配置しようとしています。たとえば、カートへの追加に成功したというメッセージなどです。それらは自動的にウーコマースラッパーのスタートが始まる場所の一番上に置かれるように見えます。

このリンク はメッセージの文言を変更することができますが、必要なのはメッセージをある場所から削除して別の場所に移動することです。

私はwoocommerceフォーラム、このフォーラムとwoocommerceテンプレートファイルを探しました。 messages.phpがありますが、それはメッセージのマークアップを含んでいるようにしか見えません。メッセージの表示場所を変更する方法がわかりません。この上の任意の助けは大歓迎です。

1
Ciaran Gaffey

WooCommerceはwoocommerce_show_messages()関数を使ってメッセージをレンダリングします。この関数はwoocommerce_before_single_productアクションにフックされています。そのため、単一の製品の前にメッセージをレンダリングしたくない場合は、アクションのためにそのフックを削除する必要があります。

remove_action( 'woocommerce_before_single_product', 'woocommerce_show_messages' );

メッセージを別の場所にレンダリングしたい場合は、目的の場所でwoocommerce_show_messages()関数を呼び出すだけです。

3
Eugene Manuilov
remove_action( 'woocommerce_before_single_product', 'woocommerce_show_messages' );
add_action( 'woocommerce_after_single_product', 'woocommerce_show_messages', 15 );

必要に応じて、位置決め優先順位の3番目のパラメータを追加することもできます。

出典 ウーフック

2
Brad Dalton

2.1.0以降、woocommerce_show_messagesは廃止予定の機能です。代わりにwc_print_noticesを使用してください。

remove_action( 'woocommerce_before_single_product', 'wc_print_notices' );
0
retroriff