从wordpress中的add_action中检索值

时间:2017-09-18 08:19:15

标签: wordpress hook

我试图在过滤器内调用一个动作。我想从action方法中检索一个值并将其用于过滤函数

   add_filter( 'wc_product_table_query_args', 'wcpt_custom_query_args', 10, 3 );

function wcpt_custom_query_args( $args, $product_table) {
add_action('dokan_store_profile_frame_after', 'add_store_id', 13, 2);
        ;

    // do something with $args
$args += array('author' => $store_id);

    return $args;
}

function add_store_id($store_user, $store_info){
    $store_id = $store_user->ID;    
    return $store_id;

}

如何在函数wcpt_custom_query_args中检索$ store_id?

2 个答案:

答案 0 :(得分:1)

    add_action('dokan_store_profile_frame_after', 'add_store_id', 13, 2);

function add_store_id($store_user, $store_info){
    global $store_id;
    $store_id = $store_user->ID;    
    add_filter( 'wc_product_table_query_args', 'wcpt_custom_query_args', 10, 2 );
}

function wcpt_custom_query_args( $args, $product_table) {
global $store_id;
    // do something with $args
$args += array('author' => $store_id);

    return $args;
}

答案 1 :(得分:0)

您应该在源代码中找到行apply_filter('wc_product_table_query_args'以查找允许的参数。如果第3个参数是$ store_id,那么你可以使用它。

你应该记住的一点是,在动作挂钩上,不应该返回任何内容(仅返回过滤器挂钩)