Obtenha o conteúdo da página por categoria ou tag

4

Estou tentando emular o comportamento do Views no Drupal com o WordPress, mas fazendo isso em modelos de tema.

Agora, tenho páginas que são montadas usando wp_query no modelo para obter postagens pertencentes a uma determinada categoria.

Mas agora também quero poder criar outra página que realize uma consulta para obter todas as páginas acima, mas apenas o conteúdo dessas páginas, não o conteúdo das postagens. Levando isso um passo adiante, eu realmente gostaria de poder me referir a campos específicos dentro da página de destino e exibi-los. O resultado final deve ser uma espécie de lista de postagens nesta página com os títulos e introduções de cada uma das páginas "montadas".

Devo mencionar que sou muito novo no Drupal e no Wordpress, e estou testando os dois para tentar decidir o que é melhor para o meu site (não é um blog!) Até agora eu gostei da abordagem Views and Panels do Drupal, mas na maioria dos outros aspectos, o Wordpress parece mais adequado.

Mas como alguém poderia fazer a tarefa acima no WordPress?

Consegui obter o resultado desejado ao fazer isso (pelo menos obtendo a página em questão e apenas o conteúdo nela, não as postagens. Mas não posso selecionar informações mais detalhadas):

$my_query = new WP_Query( array(
    'post_type' => 'page',
    'post__in'  => array( 76, 151 )
) );

Mas isso significa ter que especificar determinados ids de página, o que é indesejável. Eu quero que seja possível para os usuários adicionarem páginas para serem incluídas na página de resumo apenas adicionando uma tag ou categoria a elas. Eu não consegui usar categorias ou tags para selecionar o mesmo conteúdo acima (embora eu tenha plugins instalados para permitir tanto nas páginas).

    
por Anders Svensson 27.07.2012 / 00:07

1 resposta

0

Parece que você realmente precisa usar postagens para o seu conteúdo em vez de páginas, já que deseja organizar seu conteúdo em categorias. Você pode usar uma página para exibir um modelo de página personalizado (o comentário Template Name: , conforme mostrado abaixo, define um novo modelo de página; esse modelo estará disponível em um menu suspenso próximo ao botão "publicar" da página). Esse modelo pode mostrar metadados de postagens em uma determinada categoria usando um código semelhante a este:

<?php
 /*
Template Name: My Page Template
*/
?>
<?php get_header(); ?>

<h3>My Posts in My Category</h3>

   <?php 
   query_posts('category_name=my-category-slug-name&showposts=3'); ?>

   while (have_posts()) : the_post(); 
      thumb = get_post_meta($post->ID, "promo_image-215x150", true);

      if ($thumb != "")  { ?> 
        <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
          <img src="<?php $values = get_post_custom_values("promo_image");
          echo $values[0]; ?>" alt="<?php the_title(); ?>"  />
        </a>

     <?php 
     } else { ?>
       <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title (); ?></a>
     <?php } ?>

  <?php endwhile; ?>
    
por Benson 19.05.2018 / 13:15