gpt4 book ai didi

php - 在 WordPress 中使用回调键传递参数

转载 作者:行者123 更新时间:2023-12-02 01:33:20 25 4
gpt4 key购买 nike

我在这里使用 WordPress 工作。我有以下代码:

if (is_product() && is_woocommerce() && $this->category_has_fiance() == true) { 
$tabs['finance_tab'] = array(
'title' => __( 'Finance Options', 'woocommerce' ),
'priority' => 50,
'callback' => array ($this, 'woo_finance_tab_content')
);
return $tabs;
}

这将按您的预期工作,并调用 $woo_finance_tab_content。但是,我想将一些参数传递给 $woo_finance_tab_content 选项卡。这种情况可能吗?

最佳答案

woocommerce_product_tabs 过滤器正在使用 call_user_func 函数来处理回调:

<?php foreach ( $tabs as $key => $tab ) : ?>
<div class="panel entry-content wc-tab" id="tab-<?php echo esc_attr( $key ); ?>">
<?php call_user_func( $tab['callback'], $key, $tab ); ?>
</div>
<?php endforeach; ?>

所以实际上它向回调发送两个参数:键(在您的情况下是finance_tab)和整个选项卡数组。因此,从理论上讲,您应该能够执行以下操作:

$tabs['finance_tab'] = array(
'title' => __( 'Finance Options', 'woocommerce' ),
'priority' => 50,
'callback' => array ($this, 'woo_finance_tab_content'),
'callback_parameters' => 'stuff'
);

然后:

function woo_finance_tab_content($tab_name, $tab) {
echo $tab['callback_parameters']; // display "stuff"
}

关于php - 在 WordPress 中使用回调键传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com