带有页面摘要或特色项目的模板

时间:2012-07-07 作者:Ben

我得到了一个WordPress网站的设计,该网站主要由页面而不是帖子组成。然而,在每个页面的顶部,需要有三个特色项目排在一行。每个特色项目都有一个图像、标题、一小段摘要文本和指向其他页面的链接。

有谁能告诉我在页面上实现这些特色项目的最佳方法吗?它们是否需要自定义内容类型?如果是,我将如何在模板中实现它?管理员需要相当容易地编辑、更改和链接到其他页面。

我是一位经验丰富的Drupal设计师,但对WordPress还是新手。

任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:Jeremy Jared 整理而成

由于我不知道项目的完整范围,我只能就我将要做的事情给出一个建议。

由于您将使用一个页面来放置带有标题和摘录的3幅图像,因此我将创建一个具有两个循环的自定义页面模板。第一个循环将使用query_posts 引入3幅图像(标题和摘录)。然后,我将使用第二个循环来显示页面的内容。

需要进行一些规划的部分是如何设置第一个循环。如果可以从给定类别中随机选择3个特色项目,您只需使用query_posts 检索帖子。如果不是,那就需要更多的工作。

如果您有几个不同的页面将使用此结构,那么最好使用条件标记,这样您就不必为每个类别创建自定义页面。我制作了一个定制页面示例,向您展示我所说的内容。我还没有对它进行现场测试,但我相信代码是正确的。在这个示例中,我使用了3篇带有自定义图像的帖子,以及类别8中的一小段文本的摘录作为id。我对代码进行了注释,以解释其中的一些代码:

<?php
/*
Template Name: Featured
*/
?>
<?php get_header(); ?>
<div class="inner">

<?php /** Use WP_Query instead of query_posts, Thanks to Chris_O for the heads up */ ?>

  <?php 
    $custom_query = new WP_Query( \'posts_per_page=3&cat=8\' );
    while ( $custom_query->have_posts() ) : $custom_query->the_post(); 
    ?>    
    <div class="featured">
      <?php
        /**
        * Here is where you bring in the 3 post from the category
        * (with the id of 8 for this example)
        */
      ?>
      <a href="<?php the_permalink(); //Makes the image Link to the Full Post ?>">
      <?php the_post_thumbnail(); // Gets The Posts Thumnail ?></a>
      <h2>
        <a href="<?php the_permalink(); //Gets the Title/Link to the post ?>">
        <?php the_title(); ?></a>
      </h2>
      <?php the_excerpt(); // The excerpt can be customized for amount of text displayed ?>
    </div>

  <?php endwhile; ?>  
  <?php wp_reset_query(); ?>

    <div class="wrapper">
      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <div class="entry">
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
        <p class="postmetadata">Posted in <?php the_category(\', \') ?> <strong>|</strong>
          <?php edit_post_link( \'Edit\',\'\',\'<strong>|</strong>\' ); ?>
          <?php comments_popup_link( \'No Comments &#x27A6;\', \'1 Comment &#x27A6;\', \'% Comments &#x27A6;\' ); ?>
        </p>
      </div><!-- End Entry -->
      <?php endwhile; ?>
    </div>

  <?php else : ?>
    <h2 class="center">Not Found</h2>
    <p class="center">Sorry, but you are looking for something that isn\'t here.</p>
  <?php endif; ?>

</div><!-- END POST -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>
如果你需要更多帮助,请告诉我。

已编辑:已将代码更改为使用WP_QueryChris_O\'s 劝告

结束

相关推荐

Enable page templates. How?

基本问题,但我想启用页面模板。我有一个启用了页面模板的主题。我切换到了另一个模板,但没有更改模板的选项,即使在创建新页面时也是如此。如何打开此选项?我在抄本和论坛上找到了根,但找不到。