rozanchetta

WordPress - archive-documentos.php

Oct 16th, 2011
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.60 KB | None | 0 0
  1. <?php
  2. // refere-se ao tutorial: http://rozanchetta.wordpress.com/2011/10/16/area-de-clientes-templates-para-o-cpt-documentos
  3.  
  4. get_header(); ?>
  5. <div id="content" role="main">
  6. <?php global $user_ID, $user_identity; get_currentuserinfo(); if (!$user_ID) { // condicional - se o usuário não está logado ?>
  7. <div class="nao-logado">
  8. <p>Faça Login para ver sua Página</p>
  9. <?php $args = array('label_username' => __( 'Usuário' ),'redirect' => site_url('/documentos/'),); // depois de fazer login, retorna para a página documentos ?>
  10. <?php wp_login_form( $args ); // formulário de login ?>
  11. <div class="clear"></div>
  12. <br />
  13. <p>Ainda não possui uma conta?</p>
  14. <p><a href="<?php echo esc_url( home_url( '/' ) ); ?>registro-de-usuario/">Registrar-se</a> <!-- link para o formulário de registro --></p>
  15. <div class="clear"></div>
  16. </div><!-- fecha a div class .nao-logado -->
  17. <?php } else { // se o usuário está logado ?>
  18. <div class="logado">
  19. <p>Você está conectado como <?php echo $user_identity; ?></p>
  20. <p>O que você deseja fazer?</p>
  21. <ul>
  22. <li><a href="<?php echo esc_url( home_url( '/' ) ); ?>">Ir para a Página Inicial</a></li>
  23. <?php if (current_user_can('edit_posts')) { ?>
  24. <li><?php echo'<a href="' . admin_url() . '">' . __('Ir para Administração do Site') . '</a>'; ?>
  25. <?php  } else { ?>
  26. <li><?php echo '<a href="' . admin_url() . 'profile.php">' . __('Alterar meus dados') . '</a>'; ?></li>
  27. <?php } ?>
  28. <li><a href="<?php echo wp_logout_url('documentos'); // ao fazer logout, volta para a página documentos ?>">Logout</a></li>
  29. </ul>
  30. <br />
  31. <div class="clear"></div>
  32. <!-- Iniciamos com uma condicional para usuários com nível superior ao de assinante e um loop de posts -->
  33. <?php if( current_user_can('edit_posts') ) : ?>
  34. <div class="lista-admin">
  35. <p>Esta é a lista de todos os documentos restritos. Apenas usuários com nível superior ao de assinante tem acesso a todos os documentos.</p>
  36. <ul><!-- inicia a lista de títulos dos posts -->
  37. <?php if (have_posts()) : while ( have_posts() ) : the_post(); // loop para lista de todos os documentos
  38. global $restrito_mb;
  39. $meta = $restrito_mb->the_meta();
  40. $restrito_mb->the_field('teste_restrito'); /* nossa meta box */
  41. ?>
  42. <li id="post-<?php the_ID(); ?>" <?php post_class(); ?>><span class="entry-title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>"><?php the_title();?></a> - Este documento é restrito para <strong><?php $restrito_mb->the_value(); ?></strong>.</span></li>
  43. <?php endwhile; endif; // finalizamos o loop e a condicional "se houver posts" ?>
  44. </ul><!--  fechamos a lista -->
  45. </div><!-- .lista-admin -->
  46. <?php else: //se o usuário tiver nível de assinante iniciamos uma query ?>
  47.  <p>Este documento é restrito.</p>
  48. <p>Apenas você, <strong><?php echo $user_identity; ?></strong>, e os administradores do <?php bloginfo('name'); ?> tem acesso às suas páginas.</p>
  49. <hr>
  50. <br />
  51. <h3> Estes são os documentos arquivados em sua conta de cliente</h3>
  52. <div class="lista-assinantes">
  53. <?php
  54. global $restrito_mb;
  55. $current_user = wp_get_current_user();
  56. $args = array(
  57.     'post_type' => 'documentos',
  58.     'meta_query' => array(
  59.         'relation' => 'OR',
  60.         array(
  61.             'key' => '_restrito_meta', /* nossa meta key */
  62.             'value' => get_user_role(), /* comparada com a função do usuário logado */
  63.             'compare' => 'LIKE'
  64.         ),
  65.         array(
  66.             'key' => '_restrito_meta', /* nossa meta key */
  67.             'value' => $current_user->user_login,
  68.             'compare' => 'LIKE'
  69.         )
  70.     )
  71.   );
  72.  $my_query = new WP_Query( $args ); ?>
  73. <?php if ($my_query->have_posts()) { ?>
  74. <ul><!-- inicia a lista de títulos dos posts -->
  75. <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?><!-- Iniciamos o loop da query com os títulos dos posts -->
  76. <?php global $restrito_mb; $restrito_mb->the_meta(); $restrito_mb->the_field('teste_restrito'); // nossa meta box ?>
  77. <li id="post-<?php the_ID(); ?>" <?php post_class(); ?>><span class="entry-title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>"><?php the_title();?></a> - Este documento é restrito para <strong><?php $restrito_mb->the_value(); ?></strong>.</span></li>
  78. <?php endwhile; // finalizamos o loop ?>
  79. </ul> <!-- fechamos a lista -->
  80. <?php } else { ?>
  81. <p>Não há documentos em sua conta de cliente. Por favor, entre em contato com nosso atendimento.</p>
  82. <?php } ?>
  83. <?php wp_reset_query(); // fechamos a query ?>
  84. </div><!-- .lista-assinantes -->
  85. <?php endif; // finalizamos a condicional de permissão ?>
  86. </div> <!-- fecha a div class .logado -->
  87. <?php } // finaliza a condicional usuario logado/não logado ?>
  88. </div><!-- #content -->
  89. <?php get_sidebar(); ?>
  90. <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment