Aqui onde trabalho, surgiu a ideia de criar um fórum de discussão,
como tive algumas dificuldades na instalação, vou documentar passo a passo, a instalação e configuração
1° passo
baixe o bbpress, eu preferi instalar no site bbpress.org
crie um subdiretório dentro do diretório onde o wordpress estiver instalado no meu caso criei /forum
acesse o endereço geralmente http://seusite.com.br/forum
aparecera uma tela semelhante a tela da primeira instalação do wordpress, pedindo pra você, inserir os dados de acesso do banco de dados, você tem que inserir as mesmas informações do wordpress, para a integração,
2° passo
aqui é onde vamos integrar os dados do wordpress + bbpress para que os dados enviados pelos cookies sejam os mesmos para que você possa logar simultaneamente nos dois sites, os valores abaixo podem ser pegos do seu arquivo wp-config.php que fica na raiz da instalação do wordpress
define('AUTH_KEY', ' valores do seu
wordpress');
define('SECURE_AUTH_KEY', '
valores do seu wordpress');
define('LOGGED_IN_KEY', '
valores do seu wordpress');
define('NONCE_KEY', '
valores do seu wordpress');
define('AUTH_SALT', '
valores do seu wordpress');
define('SECURE_AUTH_SALT', '
valores do seu wordpress');
define('LOGGED_IN_SALT', '
valores do seu wordpress');
define('NONCE_SALT', '
valores do seu wordpress');
3° passo
após copiar os valores, essa parte é mais simples, você deve preenccher o nome do forum, a url, e a chave mãe da conta do usuario que vai ficar como super-administrador.
4° passo
após instalado você pode baixar a tradução para portugues, acessando o link, faça o upload do arquivo pt_BR.mo para a pasta forum/my-languages, caso essa pasta nao exista você pode cria-la.
Após isso você deve alterar a linha
define('BB_LANG','');
do arquivo bb-config.php para
define('BB_LANG','pt_BR');
pronto?
no meu caso ainda não, porque embora eu consiga logar nos dois sites simultaneamente, quando eu logo no wordpress e vou para o forum, em seguida tento acessar a administração do fórum, encontrava um problema, pois invés de carregar a administração do fórum ele simplesmente retornava para a pagina inicial do fórum, não retornando nenhum erro somente nao carregando a pagina do painel do admin, pesquisei um bocado, e enfim encontrei uma solução, baixei esse plugin e instalei ele no wordpress, ativei e na configuração, simplesmente inseri a url do fórum, no campo requerido e salvei, e pronto agora sim os dois estavam com logins de usuários integrados, utilizando a mesma base de dados, ou seja, inserindo um novo usuário em um ou em outro estará simultaneamente nos dois sistemas, e conseguia acessar o admin do fórum sem problemas,
é isso ai, espero ter ajudado
até a proxima
quinta-feira, 31 de maio de 2012
quarta-feira, 9 de maio de 2012
Paginação wordpress PageNavi
Bem hoje precisei paginar minhas paginas do blog, assim como a de produtos da loja virtual, entao instalei o plugin WP-PageNavi, muito facil de usar e personalizar,
apos instalar você coloca a seguinte linha no local onde deseja que a paginação seja mostrada,
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); }?>
no meu caso inseri no index.php de meu tema que é onde o blog esta, e pronto a paginação mostrada, então removi essas linhas que mostravam os links padrões para posts antigos,
<?php next_posts_link(__('« Older Entries', 'kubrick')) ?>
<?php previous_posts_link(__('Newer Entries »', 'kubrick')) ?>
e resolvi meu problema com paginação
abraço até a proxima
apos instalar você coloca a seguinte linha no local onde deseja que a paginação seja mostrada,
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); }?>
no meu caso inseri no index.php de meu tema que é onde o blog esta, e pronto a paginação mostrada, então removi essas linhas que mostravam os links padrões para posts antigos,
<?php next_posts_link(__('« Older Entries', 'kubrick')) ?>
<?php previous_posts_link(__('Newer Entries »', 'kubrick')) ?>
e resolvi meu problema com paginação
abraço até a proxima
sexta-feira, 4 de maio de 2012
Exigir login em pagina com retorno automatico
Hoje precisei criar uma função que quando o usuário visitasse uma pagina que por algum motivo precisasse que esse mesmo usuário estivesse logado para ter acesso a esse conteúdo.
um redirect seria simples, verifico se o usuário esta logado, se não mando para a pagina de login, para isso temos varias funções, a wp_redirect() do wordpress, a header do php daria um jeito nisso, porem para que ficasse mais profissional, e que após o login o usuário fosse redirecionado ao logar, com essa função isso é possivel, ao chama-la em uma página automaticamente o usuário vai ser direcionado para a pagina de login ja com a instrução de retorno após o login enviada pela url, ela deve ser adicionada no arquivo functions de seu tema, o codigo esta todo comentado e qualquer duvida é só deixar um comentário
Aqui eu chamo a função, você pode colocar na pagina esse codigo e isso ja deve funcionar
um redirect seria simples, verifico se o usuário esta logado, se não mando para a pagina de login, para isso temos varias funções, a wp_redirect() do wordpress, a header do php daria um jeito nisso, porem para que ficasse mais profissional, e que após o login o usuário fosse redirecionado ao logar, com essa função isso é possivel, ao chama-la em uma página automaticamente o usuário vai ser direcionado para a pagina de login ja com a instrução de retorno após o login enviada pela url, ela deve ser adicionada no arquivo functions de seu tema, o codigo esta todo comentado e qualquer duvida é só deixar um comentário
function redireciona_login(){
$pagina_id = get_the_ID();
$urlFull = get_permalink();//aqui removo a ultima barra do link para usar no redirecionamento
$url = substr_replace($urlFull, '', -1);//a função urlencode trata o texto para o formato de link
$urlCompleto = 'http://site.com.br/wp-login.php?redirect_to=' . urlencode($url) . '&reauth=1';
echo "<script type=\"text/javascript\">window.location='$urlCompleto';</script>";
// echo $urlCompleto;
// header("location:$urlCompleto"); die();
// echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=$urlCompleto'>";
}
Aqui eu chamo a função, você pode colocar na pagina esse codigo e isso ja deve funcionar
if (!is_user_logged_in()){
redireciona_login ();
}
quinta-feira, 3 de maio de 2012
Função para BreadCrumbs Wordpress
Tive que modificar os Breadcrumbs, de um plugin wiki que instalei aqui em minha aplicação wordpress,
então pesquisei, e achei algumas funções e plugins de breadcrumbs, porem precisava de uma função que poderia ser chamada de uma pagina ou outra, e que mostrasse todas as paginas mães relacionadas ao post,
achei esta que mostra todo o caminho, até a home, você coloca dentro do arquivo functions do seu tema, e chama ela nas paginas onde for necessario
achei esta que mostra todo o caminho, até a home, você coloca dentro do arquivo functions do seu tema, e chama ela nas paginas onde for necessario
function wsf_make_link ( $url, $anchortext, $title=null, $nofollow=false ) {
if ( $title == null ) $title=$anchortext;
$nofollow==true ? $rel=' rel="nofollow"' : $rel = '';
$link = sprintf( '<a class="incsub_wiki_crumbs" href="%s" title="%s" %s="">%s</a>', $url, $title, $rel, $anchortext );
return $link;
}
function wsf_breadcrumbs( $sep = '/') {
global $post;
// Do not show breadcrumbs on home or front pages.
// So we will just return quickly
if((is_home() || is_front_page()) && (!$front_page))
return;
// Create a constant for the separator, with space padding.
$SEP = ' ' . $sep . ' ';
echo '
<div class="breadcrumbs">';
$wiki_home = "http://ema.net.br/emawiki/";
echo wsf_make_link( get_bloginfo('url'), 'Home', get_bloginfo('name'), true ) . $SEP;
if(is_single()) {
the_category(', '); echo $SEP;
}
elseif(is_page()) {
$parent_id = $post->post_parent;
$parents = array();
while($parent_id) {
$page = get_page($parent_id);
$parents[] = wsf_make_link( get_permalink($page->ID), get_the_title($page->ID) ) . $SEP;
$parent_id = $page->post_parent;
}
$parents = array_reverse($parents);
foreach($parents as $parent) {
echo $parent;
}
}
// Wordpess function that echoes your post title.
the_title();
echo '</div>
';
}
até a próxima.
Assinar:
Postagens (Atom)