如何从模板中截取index.php并从另一个文件中导入?

时间:2013-03-05 作者:Radolino

我是wordpress模板开发的初学者,我正在尝试创建一个自定义索引文件。我想显示分段中的最新帖子:

前两篇文章应显示为列表第三篇文章将以全宽缩略图显示接下来的4篇文章将显示在1/2宽的框中

我面临的困难是,我必须复制和粘贴每个段的代码,同时更改一些内容,如跨度的宽度(我使用引导)和计数器,如果达到我设置的帖子限制,计数器会自动重置。

有没有专业的方法可以做到这一点?在php中,我将在另一个文件中编写函数,然后从索引中调用它们。php,因此代码编写得很好,很干净。

1 个回复
SO网友:bcorkins

您可以使用以下描述方式包括其他文件get_template_part(), 请参见:http://codex.wordpress.org/Function_Reference/get_template_part. 这适用于您打算在站点上其他地方重用的代码部分。

然而,如果您只在主页上使用这些布局(“列表”、“完整缩略图”等),那么将它们全部放在一个文件(通常是front page.php)中就很好了。但您可以使用offset 循环中的选项以不同方式设置帖子组的样式。例如:

<?php query_posts(\'showposts=2\'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
     <h3><?php the_title(); ?></h3>
     <div class="entry">
          <?php the_content(\'Read more »\'); ?>
     </div>
     Posted on <?php the_time(\'F jS, Y\') ?> in <?php the_category(\', \'); ?>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>

<?php query_posts(\'showposts=2&offset=1\'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
     <h2><?php the_title(); ?></h2>
     Posted on <?php the_time(\'F jS, Y\') ?> in <?php the_category(\', \'); ?>
<?php endwhile; endif; ?>
请注意&offset=2. 第一圈将抓住第一和第二根柱子,第二圈将抓住第三和第四根柱子。

另一种方法是使用一个循环,但使用计数器修改post的类。例如:

<?php query_posts(); ?>
<?php $counter = 0; ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
     <?php $counter++ ?>
     <?php if ($counter <= 2) $class = "list"
     else if ($counter == 3) $class = "thumbnail";
     else $class = "half"; ?>
     <div id="post-<?php the_ID(); ?>" <?php post_class($class); ?>>
          <h3><?php the_title(); ?></h3>
          <div class="entry">
               <?php the_content(\'Read more »\'); ?>
          </div>
          Posted on <?php the_time(\'F jS, Y\') ?> in <?php the_category(\', \'); ?>
     </div>
<?php endwhile; endif; ?>

结束

相关推荐

Multiple Page Templates & CSS

在使用多个页面模板的主题上处理CSS的最佳实践是什么?例如:我将有一个全宽页面模板和一个两列页面模板。最好只在单个CSS中调用容器(#fullWidthContainer vs.#twoColumnContainer)还是为每个页面模板提供单独的CSS文件更好?