Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problema (e dúvida) com While e IF


Anderson Ferreira

Pergunta

Boa tarde a todos,

Estou com um SUPER problema ;S // É uma dúvida bastante complicada (pelo menos pra mim, que sou iniciante).

Estou começando a criar meu primeiro layout com o WordPress. E em uma parte do meu layout, eu quero que seja impresso todos os autores dos posts. ou seja, no meu site terá uma área chamada Colunistas (autores).

E no WordPress, todos os usuários são salvos no banco de dados (óbvio). Todos os usuários são salvos na mesmo tabela, independentemente se este usuário for do nível Autor, Administrador, ou Usuário Comum.

No WP, a tabela que fica salvo os usuários é a: "wp_usermeta". Dentro desta tabela, existe 4 colunas. Sendo que pra o que eu irei fazer, só precisarei de 3 colunas (user_id, meta_key e meta_value).

imgfj.png

Como eu só preciso do nome e sobrenome, teoricamente, era só eu usar o seguinte script pra poder capturar o nome e sobrenome na tabela:

<?php
$nome = mysql_query("SELECT * FROM $wpdb->usermeta WHERE meta_key='first_name' ORDER BY user_id DESC LIMIT 10");
$sobrenome = mysql_query("SELECT * FROM $wpdb->usermeta WHERE meta_key='last_name' ORDER BY user_id DESC LIMIT 10");

while ($RS_nome = mysql_fetch_array($nome) AND $RS_sobrenome = mysql_fetch_array($sobrenome))
    {
    echo "<p>$RS_nome[3] $RS_sobrenome[3]</p>";
    }
?>

MAS é ai q entra o problema :S // Desta maneira q eu fiz, ele imprime o nome e sobrenome de TODOS os usuários da tabela. Sendo que eu qro somente o nome e sobrenome dos administradores e dos autores.

Para definir que nível é o usuário (autor, administrador, usuário comum), o WP tem um campo na tabela chamado: "wp_user_level" (esse campo está dentro da coluna "meta_key"). E do lado direito deste campo, está o valor.

Como podem ver na imagem acima, da tabela, do lado direito do campo "wp_user_level", tem um valor. No usuário de ID 1, o valor é 10. Isso quer dizer que ele é administrador. // No usuário de ID 2, o valor é 2. Isso qr dizer que ele é autor. // E por fim, no usuário de ID 3, este campo não existe. Isso qr dizer que ele é um usuário comum.

Então, como faço pra ser impresso apenas os usuários com valor 2 ou 10 na coluna "meta_value" ???

Acho q essa dúvida é meio complicada (pelo menos pra mim), e não sei se alguém vai saber responder. Pois já abri um post no fórum oficial do WP e ninguém respondeu =\

Mais não custa tentar, acredito q aq tem ÓTIMOS profissionais :D

MUITO obrigado,

Anderson Ferreira

Editado por Anderson Ferreira
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boom, desta maneira que eu estava fazendo, era uma ENORME gambiarra. RSRSRS

Para ele funcionar, seria assim:

<?php
    $nome = mysql_query("SELECT * FROM $wpdb->usermeta WHERE meta_key='first_name' ORDER BY user_id LIMIT 10");
    $sobrenome = mysql_query("SELECT * FROM $wpdb->usermeta WHERE meta_key='last_name' ORDER BY user_id LIMIT 10");
    $nivel = mysql_query("SELECT * FROM $wpdb->usermeta WHERE meta_key='wp_capabilities' ORDER BY user_id LIMIT 10");

    while ($RS_nome = mysql_fetch_array($nome) AND $RS_sobrenome = mysql_fetch_array($sobrenome) AND $RS_nivel = mysql_fetch_array($nivel))
        {
        if ($RS_nivel[3] == 'a:1:{s:6:"author";b:1;}')
            {
            echo "<div class='item'><img src='";
            bloginfo('template_directory');
            echo "/img/colunistas/";
            echo "$RS_nome[1]";
            echo ".jpg' alt='$RS1[3] $RS2[3]' title='$RS1[3] $RS2[3]' width='75' height='75' />";
            echo "<p>$RS_nome[3] $RS_sobrenome[3]</p>";
            echo"<a class='verperfil' href='' title='Ver perfil completo deste colunista'>Ver perfil</a></div><br />";
            }
        }
?>
MAAAAAAAS, no fórum oficial do WordPress, descobri como imprimir o nome dos usuários de uma maneira SUPER simples. Utilizando a seguinte tag q é do próprio WP:
<?php wp_list_authors ( 'show_fullname=1&optioncount=1&exclude_admin=0&hide_empty=1&echo=1&style=list&html=1' ); ?>

Para mais detalhes:

http://codex.wordpress.org/Template_Tags/wp_list_authors

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...