在页面上包含相关帖子

时间:2011-02-22 作者:Fuxi

我有好几篇贴有“设计”标签的帖子,还有一个叫做“设计”的页面。

我的问题是:我在设计页面中输入一些文本,然后显示所有标有“design”的帖子。这怎么可能?我可以直接在文本中放置占位符,还是必须自己用php编写占位符?

谢谢

3 个回复
最合适的回答,由SO网友:Dillie-O 整理而成

您可以轻松地修改主题的页面模板,使其包含一个在底部读取“相关帖子”的部分,然后执行一个简单的PHP查询以获取帖子,如下所示:

<?php query_posts(\'category_name=wordpress&showposts=5\'); ?>
<?php while (have_posts()) : the_post(); ?>
   <li>
      <a href="<?php the_permalink(); ?>">
      <?php the_title(); ?>
      </a>
   </li>
<?php endwhile; ?>
您需要相应地调整类别,并且始终可以按照您想要的方式设置帖子列表的格式。

SO网友:wyrfel

最简单的方法是将“Design”标记转换为“Design”类别,然后使用类别存档页面作为页面,方法是将页面内容放入类别描述中(虽然默认情况下缺少富文本编辑器),并调整主题以使其格式良好。

SO网友:t31os

使用页面模板进行常规循环,然后创建一个新的WP\\u查询对象,并使用与页面名称(即slug)匹配的标记获取帖子。

这是我之前准备的。。

<?php
/**
  * Template Name: Page with tagged Posts
  */
get_header();
?>

<div id="container">
    <div id="content">
        <?php the_post(); ?>
        <div <?php post_class(); ?>>
            <h2 class="entry-title">
                <?php the_title();?>
            </h2>
            <div class="entry-content">
                <?php the_content(); ?>
            </div>
        </div>

        <?php 
        $tagged_posts = new WP_Query; 
        $tagged_posts->query( array( \'tag__slug_in\' => array( $post->post_name ) ) ); 

        if( $tagged_posts->have_posts() ) :
            while( $tagged_posts->have_posts() ) : $tagged_posts->the_post();
            ?>

                <div <?php post_class(); ?>>
                    <h2 class="entry-title">
                        <?php the_title();?>
                    </h2>
                    <div class="entry-content">
                        <?php the_content(); ?>
                    </div>
                </div>

            <?php
            endwhile;
        endif;

        wp_reset_query();
        ?>

    </div>
</div>
<?php //get_sidebar(); ?>
<?php get_footer(); ?>
希望这有帮助。。

结束