WordPress多站点:仅向一个站点添加操作

时间:2014-08-20 作者:Alex

我已安装WoodPress Multisite并激活WooCommerce网络。我想在一个安装了WooCommerce的站点中添加一个钩子操作,而不是所有站点。

例如,我只希望在安装了WooCommerce的其中一个站点上执行向订单添加特定元数据的操作。

add_action(\'woocommerce_checkout_update_order_meta\', \'new_meta_values\'), 2);

function new_meta_values($order_id) {
    $order = new WC_Order($order_id);
    $items = $order->get_items();

    foreach($items as $k => $v){
       $item_id = $k;       
       woocommerce_add_order_item_meta( $item_id, \'_seminar_members_\', $data);
    }
}
这可能吗?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

使用get_current_blog_id() 检查当前站点。要仅在站点2上运行,请使用以下选项:

function new_meta_values($order_id) {
    if ( 2 !== get_current_blog_id() )
        return;

    /* the rest of the function code */
}

结束

相关推荐

3.9 breaks multisite

我刚刚更新到3.9,我的所有网站现在都是网络上的主要(第一个)网站。如果我转到子网站管理页面,url会显示我在我的子网站上,但实际上我是网络主站点的管理员。管理栏也会显示当前站点是主网络站点,但url显示我应该在子网站上。我创建了一个新的多站点测试环境,同样的事情也发生了。如果我创建一个新的子网站,它将始终引导我到主站点,但URL将显示子网站地址。(前端和后端/管理)。似乎发生了一个重大的重定向问题。