向注册表单添加自定义元是如何工作的?

时间:2014-01-04 作者:thatryan

下面是张贴在这里的答案,

How to add Custom Blog Options to new blog setup form?

我试图理解,只要不让update\\u blog\\u option()运行,为什么会将自定义元添加到博客的选项表中。我在该函数之前添加了echos和exit(),以确保值正确,并且它在选项表中填充了正确的值。但是,当我删除exit()并让它运行时,它不会填充。

所讨论的代码是,

add_action(\'wpmu_new_blog\', \'process_extra_field_on_blog_signup\', 10, 6);
function process_extra_field_on_blog_signup($blog_id, $user_id, $domain, $path, $site_id,     $meta) {
update_blog_option($blog_id, \'extra_field\', $meta[\'extra_field\']);
}
此外,表wp\\u注册的具体功能是什么?在激活之前,它是否是注册的临时保留位置?一旦激活,这些数据会传递到博客吗?在这种情况下,存储在那里的元无论如何都会被传递,对吗?

用于添加自定义元的代码是,

add_filter(\'add_signup_meta\', \'append_extra_field_as_meta\');
function append_extra_field_as_meta($meta) {
if(isset($_REQUEST[\'extra_field\'])) {
    $meta[\'extra_field\'] = $_REQUEST[\'extra_field\'];
}
return $meta;
}
这将正确地存储在wp\\u注册表中。

谢谢你的帮助。

1 个回复
SO网友:daggerhart

我也有同样的问题,我发现blogtemplates插件在我更新选项后删除了我的选项。你可能有类似的情况。

我通过在博客模板之后执行wpmu\\u new\\u blog钩子修复了我的问题。

    // blogtemplates executes at 9999, go last at 10000
    add_action(\'wpmu_new_blog\', \'process_extra_field_on_blog_signup\', 10000, 6);

结束

相关推荐

WordPress MultiSite可以使用了吗?

我计划为不同类型的社区创建一个网站。例如,不同类型的开发人员。PHPJavaAndroidTC每种类型都有不同的注册和配置文件字段。现在我的困惑是,要么我应该创建多站点网络,每个站点将包含不同的开发人员,要么只有一个站点可以明智地完成这项工作?我需要做的一些事情是允许用户随时开始使用其他网站,例如,如果x用户注册了Java,现在他想注册PHP,他应该能够在不再次注册的情况下放置他的内容,并且用户id也应该是相同的,所以每当我通过用户id获取内容时,它都会给我来自同一用户的不同网站的所有数据。另一个问题是,