如何在用户创建时设置默认元变量?

时间:2012-07-16 作者:george.n

为了重复起见,我想做以下工作:当创建新用户时,我需要为WP default Posts post post类型设置自定义字段和摘录元框。我知道默认情况下,WP不会显示它们,但我希望它能显示出来。我将删除屏幕选项选项卡,以便用户无法禁用它们。

我知道这个问题是针对不同的场景提出的,我已经尝试使用并更改了我在这里和web上找到的代码,这些代码有助于操作这个问题,但运气不好(例如:How to set default screen options?). 显然,我已经尝试了不同的安装,但它不起作用。还有别的方法吗?

1 个回复
SO网友:brasofilo

基于this Answer by t31os.

这里,所有的元框都被设置为不可见,所以只需从数组中删除那些应该可见的元框即可。

add_action(\'user_register\', \'wpse_58645_set_user_metaboxes\');

function wpse_58645_set_user_metaboxes( $user_id ) 
{
    update_user_meta( 
        $user_id, 
        \'metaboxhidden_post\', 
        array( 
            \'authordiv\',
            \'categorydiv\',
            \'commentstatusdiv\',
            \'formatdiv\',
            \'postcustom\',
            \'postexcerpt\',
            \'postimagediv\',
            \'slugdiv\',
            \'tagsdiv-post_tag\',
            \'trackbacksdiv\',
        ) 
    );
}
对于注册用户,运行admin_init 只能做一次,但这只是一个概念:

$blogusers = get_users(\'blog_id=1\');

foreach ( $blogusers as $user ) 
{
    if ( !get_user_meta( $user->ID, \'metaboxhidden_post\', true ) ) 
    {
        update_user_meta( $user->ID, \'metaboxhidden_post\', $meta_value );
    }
}

结束

相关推荐

无法使用wp_EDITOR()从WPAlChemy metabox获取<p>标记

我正在一个项目中使用WPAlchemy。对于一个模板,我需要使用一个自定义的metabox,它可以很好地与tinyMCE编辑器配合使用。在模板上插入元框的代码(这是https://github.com/helgatheviking/WP-Alchemy-Holy-Grail-Theme/ 因为我在一次Loooog搜索后最终尝试了它,但是macache。<div class=\"my_meta_control metabox\"> <p> <?php $mb-&