WordPress Hacks para site exclusivo para membros

7

Por padrão, o WordPress é uma ferramenta de blog. No entanto, você pode realmente personalizar para torná-lo como quiser. Muitas pessoas usam o WordPress para criar um site exclusivo para membros.

Você sempre pode usar um plugin, mas se você só precisa de uma pequena modificação, por que instalar um plugin quando você pode fazer isso com poucas linhas de código. Aqui estão alguns hacks simples, mas eficazes, para criar um site exclusivo para membros.

Conteúdo apenas para membros sem plug-in

Se houver algum conteúdo em seu site que você deseja mostrar apenas para o membro registrado, você pode fazê-lo usando o seguinte código em seu tema. O que quer que aconteça entre is_user_logged_ineles será visto apenas por membros.

<?php if (is_user_logged_in()) { ?>
// Content for Logged in user
<?php } else {?>
// Content for everyone else
<?php }?>

Mostre o formulário de login do WordPress em qualquer lugar e personalize-o

Se você deseja incluir o formulário de login do WordPress em qualquer lugar do seu tema, pode fazê-lo usando a seguinte função:

<?php ks29so_login_form(); ?>

No entanto, ele não oferece a opção de personalizar o formulário de login, porque apenas puxa diretamente o formulário de login padrão do WordPress. E se você quiser mostrar algo assim?

Aqui está o código para fazer isso. Cole o código a seguir onde quiser que o formulário apareça.

// WordPress Login Form
<?php if (!(current_user_can('level_0′))){ ?>
<h3>Member Login</h3>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<table width='100%’ cellspacing="0" cellpadding="0">
<tr>
<td>
<label><?php _e( ‘Username’) ?></label>
<input type="text" name="log" class="input" value="<?php echo attribute_escape(stripslashes($user_login)); ?>" />
</td>
<td>
<label><?php _e( ‘Password’) ?></label>
<input type="password" name="pwd" class="input" value="" />
</td>
</tr>
<tr>
<td colspan="2"><?php do_action(‘login_form’); ?>
</td>
</tr>
<tr>
<td>
<a href="<?php echo site_url(‘wp-login.php?action=lostpassword’, ‘login’) ?>" title="<?php _e(‘Password Lost and Found’) ?>"><?php _e(‘Forgot Password?’) ?></a>
</td>
<td>
<input type="submit" name="submit" value="Log In" class="button" />
<input type="hidden" name="redirect_to" value="http://<?php echo $_SERVER['SERVER_NAME']. $_SERVER['REQUEST_URI'] ?>" />
</td>
</tr>
</table>
</form>
<?php } else { ?>
<!– When User logged in Show the following info –>
<h2>Logout</h2>
<?php get_currentuserinfo();?>
Welcome Back  <?php echo($current_user->user_login. " ");?><br />
<a href="<?php echo ks29so_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?>">Logout</a><br />
<a href="<?php echo get_admin_url(); ?>">Admin?</a><!– If you are admin goes to admin dashboard –>
<?php }?>

Você pode adicionar uma tag CSS div para estilizá-lo. A vantagem de usar este formulário de login é quase criar um mini painel para membros usando a função get_currentuserinfo() e mostrar qualquer informação sobre o usuário.

Menu personalizado do WordPress para membros

Assim como o conteúdo, você pode criar um menu WordPress personalizado para membros. Vamos registrar o menu primeiro. Vá para o arquivo de função do tema (functions.php). Use o código a seguir para registrar os menus.

register_nav_menus( array(
‘primary’ => __( ‘Primary Navigation’, ‘twentyten’ ),
‘visitor’ => __( ‘Visitor Navigation’, ‘twentyten’ ),
‘footer’ => __( ‘Footer Navigation’, ‘twentyten’ ),) );

Agora, coloque o código a seguir onde deseja que seu menu apareça, provavelmente dentro do arquivo header.php.

<?php
if (is_user_logged_in()) {
ks29so_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘primary’) );
} else {
ks29so_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘visitor’) );
};?>

Agora você precisa realmente criar o menu no backhand do WordPress. A configuração "Menus" deve estar na guia Aparência. Crie um menu com o nome principal e visitante. Em ambos os menus, adicione o que você deseja mostrar. Por exemplo: se você deseja que uma página apareça apenas quando o usuário estiver conectado, adicione-a em o menu principal.

Você também pode criar um menu de rodapé dinâmico usando o mesmo método.

Campos personalizados do WordPress e hacks para blogueiros

Você pode usar o WordPress para criar um site personalizado e com aparência profissional. Nesta postagem, estamos compartilhando alguns truques e hacks de campos personalizados do WordPress que permitirão que você tenha um site WordPress melhor.

Às vezes, pode haver blogueiros convidados que escrevem apenas uma postagem em seu site e isso é tudo. Você pode usar este método para mostrar informações regulares do autor. Tenha em mente que o autor foi registrado no WordPress. Talvez você não queira se registrar toda vez que um novo autor convidado escreve. Mas, como você ainda consegue que as informações do autor convidado apareçam no mesmo formato do autor regular? Os campos personalizados!

Nome do Autor Convidado na Página Inicial e Postagens Individuais

A primeira coisa que precisamos fazer é definir uma instrução if do WordPress para obter o valor do campo personalizado. Dessa forma, ele só aparecerá quando o valor do arquivo personalizado for atribuído. Abra seu “index.php" e “single.php” e cole o seguinte código onde você deseja que o nome do autor apareça. Pode ser depois da data ou depois dos comentários. Por exemplo, após este código:

<?php the_time(‘M j, Y’) ?>
< ?php if (get_post_meta($post->ID, 'guest_author_name', true)) { ?>
// check to see if custom field guest author name exists
< ?php echo get_post_meta($post->ID, "guest_author_name", $single = true); ?>
< ?php } ?>

Depois de colocarmos a instrução if, basta chamá-la em qualquer postagem que desejamos que o nome do autor convidado apareça. O nome do autor convidado deve aparecer na primeira página e apenas para postagens específicas.

Bloqueio de informações do autor convidado em postagem individual

Ok, então temos o nome aparecendo na meta descrição do post, mas algumas informações sobre o autor convidado também seriam boas.

Novamente, primeiro temos a instrução if condicional que procura o polegar e a descrição da imagem do autor. Não se esqueça de alterar a imagem do diretório. Além disso, anexamos uma classe ao bloco e ao polegar, que permite estilizar a imagem e o bloco usando CSS.

<?php if (get_post_meta($post->ID, ‘autho_thumb’, true)) { ?> // checks to see if the custom field exist
<div class="writer_bio">
<img class="autho_thumb" src="http://media.webdesignviews.com/author/<?php $values = get_post_custom_values("autho_thumb"); echo $values[0]; ?>" alt="Author Thumb" width="60" width="60" height="60" /><?php }? <?php if (get_post_meta($post->ID, ‘guest_author’, true)) { ?>
<?php echo get_post_meta($post->ID, "guest_author", $single = true); ?></div>
<?php } ?>

Aqui está o CSS que usei

.writer_bio {
color: #666;
background: #eee;
text-transform: none !important;
font-size: 13px;
font-weight: normal;
height: 75px;
width: 600px;
padding: 6px;
padding-bottom: 6px;
padding-left: 0;
margin-bottom: 10px;
}
.writer_bio img {
padding: 0 !important;
float: left !important;
margin-left: 4px !important;
margin-top: 3px !important;
border: 2px #ccc solid !important;
height: 60px;
}

Você ainda estiliza mais com a classe auto_thumb. Feito isso tudo o que você precisa fazer é adicionar o autho_thumb e o guest_author no campo e preencher as informações. Você pode até adicionar HTML, como link no campo personalizado.

Portanto, você tem dois campos personalizados para informações do autor convidado. Isso pode parecer uma série de passos. Confie em mim, uma vez feito isso, é apenas uma questão de adicionar a imagem e a descrição da próxima vez que quiser fazê-lo.

Melhor campo personalizado para exibir a imagem do post na página inicial

Este método é usado para exibir um polegar para o post na frente. Eu queria ir um pouco mais longe e facilitar para o usuário final. Além disso, com o método de Jean, todas as imagens teriam o mesmo alt=”post-image” e eu poderia não ser bom para os mecanismos de busca. Além disso, você teria que incluir toda a URL para as imagens todas as vezes. Primeiro aqui está o código:

<?php $postimageurl = get_post_meta($post->ID, ‘post-img’, true);
// variable for image
$image_alt = get_post_meta($post->ID, ‘post-img’, true);// variable for description
// check if the the custom field is called
if ($postimageurl) {
?>
<a href="<?php the_permalink(); ?>" rel="bookmark"><img src="<?php echo $postimageurl; ?>" class=
quot;post-img" alt="<?php echo $image_alt; ?>"; width="500" height="300" /></a>
<?php } else { ?>

Antes de explicar o código, observe que não adicionei uma instrução else para um polegar padrão. Veja a postagem de Jean se você gostaria de ter uma imagem padrão se a imagem for atribuída no campo personalizado.

Primeiro temos duas variáveis ​​$postimageurl e $image_alt. A primeira é obter a localização da imagem e a segunda é adicionar o nome da imagem. Então, novamente, definimos uma instrução if para verificar se o campo personalizado é chamado.

<?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/’?>

A diferença está acima do código que obtém a localização da imagem. Eu criei uma pasta chamada thumb no meu diretório de upload do WordPress, então, em vez de digitar o URL inteiro toda vez, eu apenas digitaria o nome da imagem, depois de fazer o upload da imagem na pasta.

Se você quiser um diretório diferente, digamos que você armazenaria suas imagens na raiz do seu domínio, basta substituir <?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?>por http://yourwebsite.com/images/<?php echo $postimageurl; ?>.

Portanto, o código foi um pouco ajustado para que cada imagem de postagem tenha um alt (título) diferente e você digite a extensão do nome da imagem em vez da URL inteira.

Organize sua navegação no WordPress como quiser

A primeira coisa a saber é a lista de páginas do wordpress usando a tag ks29so_list_pages, que geralmente está localizada em header.php. mas você pode não querer listar todas as suas páginas. Se você quiser ocultar algumas de suas páginas, faça o seguinte:

<?php ks29so_list_pages(‘include=7,13′ ); ?>
//or
<?php ks29so_list_pages(‘exclude=5,9′);? >

Excluir ou incluir quase funciona da mesma maneira. Excluir irá omitir certas páginas da lista de páginas do WordPress e incluir apenas mostra o ID das páginas que você especificar. No entanto, a maioria dos blogs de web design ou qualquer outro blog gosta de usar tags ou categorias como navegação. Nesse caso, você pode simplesmente se livrar da tag ks29so_list e personalizar o código de navegação. Como alternativa, você também pode fazer isso com suas tags. O benefício de codificar dessa maneira é atribuir classe CSS para estilizar cada elemento da navegação.

Como encontrar o ID da sua página do WordPress

Recentemente, tive que encontrar um ID de página para exclusão em um modelo que estava usando e, após cerca de 10 minutos, finalmente encontrei uma maneira fácil de encontrar o ID de página de uma ‘página' do WordPress.

Em versões mais antigas do WordPress, acredito que isso era mais fácil, mas aqui está como você pode fazer isso agora.

  1. Vá para o painel de administração do WordPress e vá para Páginas.
  2. Em seguida, passe o mouse sobre a página da qual deseja saber o ID.
  3. Você verá o ID na barra de status na parte inferior do navegador (veja abaixo).

Se você não conseguir ver o endereço completo, tente de outra maneira (mais abaixo).

  1. Vá para o painel de administração do WordPress e vá para Páginas.
  2. Então você verá o ID na barra de endereços. Será o número após o sinal de igual.
  3. Clique na página da qual você deseja saber o ID.

Mostrando o Tópico do Arquivo

A maioria dos temas do WordPress vem com a página archive.php. Mas já vi muitos sites em que as páginas de arquivo não são muito úteis e não informam aos usuários em quais tópicos ou categorias eles estão navegando. Você pode adicionar os seguintes códigos em seu archive.php para evitar confusão.

<?php /* If this is a category archive */ if (is_category()) { ?>
<h3 class="pagetitle">Current Browsing Topic: ‘<?php single_cat_title(); ?>’</h3>
<?php /* If this is a tag archive */ } elseif( is_tag()) { ?>
<h3 class="pagetitle">Posts Tagged ‘<?php single_tag_title(); ?>’</h3>

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação