Activate blog hook

时间:2012-07-23 作者:Ken

我想在wordpress multisite中激活博客时挂接一个函数。

我有这个,

add_filter( \'add_signup_meta\', \'custom_add_signup_meta\' );

function custom_add_signup_meta ( $blogmeta = array() ) {

        $the_country = $_POST[\'country-origin\'];
        $d_currency = $_POST[\'user_currency\'];
        $d_zone = $_POST[\'state-origin\'];

        $blogmeta[\'countries_id\'] = $the_country;
        $blogmeta[\'default_currency\'] = $d_currency;
        $blogmeta[\'zone_id\'] = $d_zone;

    return $blogmeta;

}

add_action( \'wpmu_activate_blog\', \'insert_custom_datas1\', 10, 3 );

function insert_custom_datas1($blog_id, $blogmeta) {
        global $wpdb, $blogname, $blog_title, $errors, $domain, $path;
        $wp_blogs = $wpdb->base_prefix . "blogs";

        $wpdb->query("UPDATE `" . $wp_blogs . "` SET `countries_id`=\'".$wpdb->escape($blogmeta[\'countries_id\'])."\', `default_currency`=\'".$wpdb->escape($blogmeta[\'default_currency\'])."\', `zone_id`=\'".$wpdb->escape($blogmeta[\'zone_id\'])."\' where `blog_id` = \'" . (int)$blog_id . "\'");

}
但是,它不起作用。。问题是什么?谢谢

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

我可以想到两个可能的原因:

wpmu_activate_blog\' 钩子提供5个参数($blog_id, $user_id, $password, $signup->title, $meta), 但你只收到2个参数($blog_id, $blogmeta)

  • wpmu_activate_blog\' 钩子只在用户创建博客时触发,而不是在超级adimin创建博客时触发。

  • 结束

    相关推荐

    在MultiSite中的循环外部获取_Author_meta的$user_id

    因此,我目前正在运行一个多站点安装,超级管理员将创建所有新站点。我们使用的其中一个模板有一个贷款官员的博客页面。我正在扩展用户配置文件,以便新用户可以输入需要在其页面上显示的关键数据。除了创建站点时自动添加的超级管理员之外,每个站点只有一个用户。我发现,如果要使用该函数,需要指定用户IDthe_author_meta(); 循环外部。这是我的问题。我无法在模板中输入ID,因为每个新的贷款官员都将使用相同的主题模板。那么,如何使这些字段成为动态的呢?下面是配置文件部分的图像,以便LO在视觉上有所帮