组合一个操作和一个筛选器

时间:2020-11-29 作者:franz877

我想在Woocommerce签出页面中显示错误消息,并删除订单按钮。我可以使用一个操作和一个筛选器:

add_action( \'woocommerce_before_checkout_form\', \'add_checkout_error\', 9 );
function add_checkout_error() {
    wc_print_notice( __( \'An error message.\', \'woocommerce\' ), \'error\' );
}

add_filter(\'woocommerce_order_button_html\', \'remove_order_button_html\' );
function remove_order_button_html( $button ) {
    $button = \'\';
    return $button;
}
我如何组合它们?如果我把过滤器放在action函数中,它就不起作用了。

add_action( \'woocommerce_before_checkout_form\', \'add_checkout_error\', 9 );
function add_checkout_error() {

    $error=1;
    if ($error==1){
    wc_print_notice( __( \'An error message.\', \'woocommerce\' ), \'error\' );
    add_filter(\'woocommerce_order_button_html\', \'remove_order_button_html\' );
    }
}

function remove_order_button_html( $button ) {
    $button = \'\';
    return $button;
}

1 个回复
SO网友:tiago calado

筛选器函数必须位于操作函数内,因为如果不是,则无法识别。所以我想。至少变量是这样的。

add_action( \'woocommerce_before_checkout_form\', \'add_checkout_error\', 9 );
function add_checkout_error() {
    wc_print_notice( __( \'An error message.\', \'woocommerce\' ), \'error\' );
    add_filter(\'woocommerce_order_button_html\', \'remove_order_button_html\' );
    function remove_order_button_html( $button ) {
            $button = \'\';
            return $button;
    }
}

相关推荐

POST_ROW_ACTIONS不适用于分层帖子类型

我正在开发一个插件,其中注册了一个自定义帖子类型(CPT),我需要向该特定帖子类型添加自定义行操作。但无法将以下代码连接到post_row_actions 工作:function ttest_copy_button( $actions, $post ) { // var_dump($actions); if( \'ttest\' === $post->post_type ) { // pass nonce to check and ve