Adicionar propriedades ao perfil do usuário e exibir na lista

Eu tenho um site que estou migrando para o WordPress e tenho a necessidade de adicionar propriedades que cada usuário pode editar (por exemplo, endereço, cidade, estado, nome da empresa, etc.), juntamente com algumas propriedades que os administradores podem editar ( IsActive, CanEmail) que não seria exibido para o usuário. Além disso, eu preciso ser capaz de exibir as propriedades em uma tabela (semelhante a como o plugin, “Lista de membros”, exibe, mas com os campos personalizados exibidos também.

Dado esses requisitos, eu tentei usar uma combinação de “Cimy User Extra Fields” e “Members List”, mas a grade de lista de membros não tinha uma opção para exibir os campos extras criados pelo outro plugin.

Como você recomendaria abordar isso?

EDITAR:

Então, acho que o cerne da minha pergunta é qual é o método preferido para adicionar propriedades ao usuário?

Solutions Collecting From Web of "Adicionar propriedades ao perfil do usuário e exibir na lista"

Para responder a primeira parte da sua pergunta, acabei de colocar a minha class TTT_User_Profile_Addon no GitHub . A class oferece uma interface simples para adicionar um campo a uma página de perfil. Eu adicionei um exemplo para uma subclass de checkbox de seleção e algum código para inicializá-lo por functions.php. Isso funciona em um plugin também, é claro.

Há alguns build em espaços reservados, mas você pode adicionar o seu próprio. Os filtros separados para os valores de marcação e input tornam a extensão da class mais fácil.

Você pode configurar resources personalizados para mostrar e salvar os campos por chamada do construtor. Todo o trabalho é reduzido a uma function init simples:

add_action( 'init', 'ttt_init_profile_addons' ); /** * Registers the extra fields for the user profile editor. */ function ttt_init_profile_addons() { $GLOBALS['ttt_show_profile'] = new TTT_User_Profile_Checkbox( array ( 'name' => 'ttt_show_profile' , 'label' => 'Show a short profile box on my posts.' , 'th' => '' , 'td' => ' %label%' , 'cap_show' => 'edit_posts' , 'cap_save' => 'edit_users' ) ); // add more fields here … } 

Adicionar os valores à tabela de membros é algo que eu ainda tenho na minha lista de tarefas …

Ah, e provavelmente devo mencionar outra class para replace ou estender os campos de contato padrão: TTT_Contactfields . Este pode ser um caso de OOP overdone. 🙂

A idéia básica é que você salve a informação extra como metadata e, em seguida, estenda a lista de usuários e formulários regulares para mostrar seu próprio conteúdo. (Mostrar colunas extras na lista é fácil, eu tenho um exemplo para a lista de postagens .)

Parece que a Lista de membros pode exibir dados da meta-tabela, então, se o Cimy User Extra Fields também economizar suas informações, você poderá combiná-los. Como o plugin Cimy guarda seus dados?

Esta não é uma resposta, mas uma sugestão. Você pode usar o buddypress: http://buddypress.org/

A seção Configuração do campo de perfil é o que você está procurando, eu acho.

provavelmente não é uma resposta final, dependendo do que você quer fazer, mas você verificou regi-plus-redux? Eu usei-o para vários sites e ele permite adicionar propriedades e configurá-los como visíveis no perfil ou não (ou seja, visíveis para o usuário ou apenas para administradores).