Função para obter o nome na tabela de banco de dados de seqüência de caracteres separados por vírgula

wordpress.stackexchange https://wordpress.stackexchange.com/questions/162969

Pergunta

Eu já criei a administração coluna na WP usando este código:

add_filter('manage_pages_columns', 'page_custom_cols', 10);
function page_custom_cols($pages_columns, $post_type) {
$pages_columns['user_group'] = 'User Group';
return $pages_columns;
}

Agora eu adicionada função para obter a identificação de grupo de usuário, este campo já está em wp_post tabela, mas em um texto separado por vírgula, assim como esse:"1,7,2" e eu era capaz de exibi-lo usando esta função:

add_action('manage_pages_custom_column', 'display_page_custom_cols', 10, 2);
function display_page_custom_cols($col_name, $post_id) {
if ('user_group' == $col_name) {
    $pages = get_post($post_id);
    echo $pages->group_access;
}
}

E ele estava mostrando agora: http://screencast.com/t/z1uJ3KinklN

Meu problema agora é que eu queira exibir o Nome do Grupo de Usuário não a IDENTIFICAÇÃO Ele estava na mesa 'custom_user_group': http://screencast.com/t/StBmVBfD0

Por favor, ajuda.

Foi útil?

Solução

Não testado mas deve funcionar:

add_action('manage_pages_custom_column', 'display_page_custom_cols', 10, 2);
function display_page_custom_cols($col_name, $post_id) {
  global $wpdb;
  $user_group = $wpdb->get_results("SELECT * From custom_user_group",OBJECT_K); 
  if ('user_group' == $col_name) {
    $pages = explode(',',get_post($post_id));
    $output = array();
    foreach ($pages as $page ) {
        $output[] = $user_group[$page]->GroupName;
    }
    echo implode(',',$output);
  }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a wordpress.stackexchange
scroll top