admin@guiadopc.com.br

como integrar o question2answer ao wordpress com login de usuarios

+5 votos
eu tenho um site que usa wordpress e gostaria de ter o question2answer so que usando o login de usuarios do wordpress
perguntado 10 anos atrás em Programação e design por anônimo

1 resposta

+2 votos
 
Melhor resposta
Bom dia
Use as instruções na http://www.question2answer.org/advanced.php

1) Ignorar a etapa 3 - usar as configurações de banco de dados do WordPress wp-config.php no passo 5.

2) Na etapa 7, variação nula para a 'BIGINT (incluindo as aspas).

3) Verifique tudo está OK para a etapa 10. Você não terá todos os usuários até que você altere o arquivo na etapa 11:

4) Na parte superior da users.php qa externo (por exemplo, a linha 2 - deve ser depois <php), insira:?
include_once ('/ home / servidor / public_html / yoursitedirectory / wp-load.php');

Altere para corresponder o seu servidor. Isso também funciona se você colocá-lo no qa config vez.

5) Sobre a linha 118, altere o qa_get_login_links função para:
return array (
'Login' => $ relative_url_prefix .'../ wp-login.php? Redirect = "urlencode. ('Question2Answer /'. Redirect_back_to_url $),
'Registrar' => $ relative_url_prefix .'../ wp-login.php? Action = cadastro & redirect = "urlencode. ('Question2Answer /'. Redirect_back_to_url $),
'Logout' => $ relative_url_prefix .'../ wp-login.php? Logout & action = redirect = "urlencode. ('Question2Answer /'. Redirect_back_to_url $)
);

Certifique-se de mudar Question2Answer ao diretório que você instalou Question2Answer!

6) Sobre a linha 203, altere qa_get_logged_in_user função para:
global $ current_user;
get_currentuserinfo ();
if ($ current_user-> ID> 0)
return array (
'Userid' => ID $ current_user->
"Publicusername '=> $ display_name current_user->
'Email' => $ user_email current_user->
'Nível' => (user_level $ current_user-==> 10)? QA_USER_LEVEL_ADMIN: QA_USER_LEVEL_BASIC
);
return null;

Não há mais espaço com o nível se você tem níveis de usuário diferente, mas isso funciona bem para a maioria das instalações.

7) Sobre a linha de função qa_get_user_email 297 mude para:
global $ user_info;
get_userdata ($ id);
retorno user_email $ user_info->;

[: Comment gidgreen editada novamente abaixo Nota]

8) Sobre a linha de função qa_get_userids_from_public 343 alterações:
$ Publictouserid = array ();

if (count ($ publicusernames)) {
$ Escapedusernames = array ();
foreach ($ publicusernames como $ publicusername)
escapedusernames $ []="'". mysql_real_escape_string ($ publicusername, $ qa_db_connection )."'";

$ Resultado = mysql_query (
"Display_name SELECT, wp_users ID ONDE display_name IN ('. Implodir (',', $ escapedusernames ).')',
$ Qa_db_connection
);

while ($ resultado = mysql_fetch_assoc ($ resultado))
publictouserid $ [ID $ resultado ]=$ resultado ;} retorno publictouserid $;


Observe que você pode precisar alterar os usuários prefixo nome da tabela na instrução SELECT (wp_ é normal - mas confirmar isso verificando wp-config.php ou seu banco de dados).

I) Sobre a linha 425 qa_get_public_from_userids mudar a função para:
$ Useridtopublic = array ();

if (count ($ userids)) {
$ Escapeduserids = array ();
foreach ($ userids como $ userid)
$ Escapeduserids []="'". mysql_real_escape_string ($ userid, $ )."'"; qa_db_connection

$ Resultado = mysql_query (
"Display_name SELECT, wp_users ID FROM WHERE ID IN (". Implodir (',', $ escapeduserids ).')',
$ Qa_db_connection
);

while ($ resultado = mysql_fetch_assoc ($ resultado))
$ Useridtopublic [$ result] display_name ]=$ resultado [';
}

return $ useridtopublic;

Verifique o prefixo de tabela de usuários na instrução SELECT.


Outras funções opcionais que podem melhorar a sua instalação, mas acima lhe dará uma plataforma de trabalho acessível por seus usuários atuais (note que os usuários só recebem listados na tela de usuário quando tenham logado)


Espero ter ajudado.
respondida 10 anos atrás por Luna Doutor (11,670 pontos)
Rapaz que trabalheira danada. É preciso isso tudo? Que área da informática e essa? Programação? Não entendi nada.
Isso é PHP ^^ ( saco puro) aushuah

Sua resposta

Enviar um email para este endereço se minha resposta for selecionada ou comentada:
Privacidade: Seu endereço de email será usado apenas para envio de notificações.
Verificação Anti-spam:
Para não fazer esta verificação no futuro, por favor, faça o login ou registre-se.

Perguntas relacionadas