0

http://css-tricks.com/video-screencasts/

试着看看这个同样由 wordpress 提供支持的著名网站。循环中的内容与单个帖子不同。它在循环中使用“dl”元素,但不是单个帖子中的主要内容。就像它有一个帖子的另一个简短摘要,只会在循环中显示。

所以我的麻烦是如何在多个帖子的循环中显示一些东西(包括图像、文章、视频嵌入)但不显示在单个帖子本身中,反之亦然。

4

2 回答 2

1

首先,让我们从我们对这个网站结构方式的了解开始。您正在查看的页面有一个名为“视频截屏”的自定义帖子类型,或者它使用的是“视频截屏”类别,因此在多个帖子页面上使用的模板可能是以下之一:

如果 video-screencasts 是一个类别

  1. 类别-视频-screencasts.php
  2. 类别-{cat_id}.php
  3. 类别.php

如果 video-screencasts 是自定义帖子类型

  1. 存档-视频-screencasts.php
  2. 存档.php
  3. index.php(不太可能)

最终,它可能使用的任何模板文件都不会对您产生太大影响。这些只是您如何以类似方式组织自己的网站的可能选项。

其次,我们来看看多篇文章页面和单篇文章页面在结构上的区别。多个帖子页面正在运行查询,并根据查询结果返回一系列特色图像摘录。单个帖子页面返回帖子本身的实际内容

所以现在,我们需要了解我们将如何做这样的事情。所以让我们从图像开始:

这可以通过以下两种方式之一来完成。创建主题时,您可以将预览图像附加到帖子中最适合 Wordpress 的方式可能是添加主题支持帖子缩略图。另一种可能的方法是添加一个自定义字段(可能将其命名为“previewImg”),其中包含您要显示的图像缩略图的路径。

至于摘录:

帖子和页面有一个您可以设置的可选摘录字段。要亲自查看此内容,请导航到您的帖子编辑器,然后查看页面的右上角。您会看到一个显示“屏幕选项”的按钮。这将允许您打开可用于微调条目的各种帖子/页面控件。摘录和自定义字段只是您可以在此区域内启用的众多选项中的两个。

每个帖子和页面都有一个摘录。通常,Wordpress 会默认使用帖子内容的前 50 个左右的单词,但您可以通过将 HTML 放入帖子的摘录字段来覆盖此设置。现在只需要生成循环:

<?php
$query = new WP_Query(array('category_name'=>'video-screencasts'));
if($query->have_posts()) : while($query->have_posts()) : $query->the_post();
?>
<div class="post_result">
    <a class="thumb" href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
    <h1 class="title"><?php the_title(); ?></h1>
    <p class="excerpt"><?php the_excerpt(); ?></p>
</div>
<?php
endwhile;endif;
?>

这只是一个示例,可以利用我上面描述的一些内容在非常基本的级别上工作。这也假设“video-screencasts”是一个类别,并且已启用对 Post Thumbnails 的主题支持。

至于单个帖子模板,代码本身将是最少的:

<?php
if(have_posts()) : while(have_posts()) : the_post();
?>
<h1 class="title"><?php the_title(); ?></h1>
<?php
the_content();
endwhile;endif;
?>

如前所述,这并不是他们的页面的确切设置方式,这些代码示例旨在说明如何实现您想要的。

总而言之,您需要阅读一些关于如何利用大量功能来根据您的需要定制所有内容的信息,并通过编写一些自己的代码来了解一下。但总的来说,我认为这涵盖了您需要了解的所有内容,以帮助您朝着正确的方向开始。

祝你好运。

于 2012-07-24T18:32:10.960 回答
0

我完成了 2 个解决方案

1.)使用自定义摘录+特征图像

2.) 在 wordpress 函数中使用带有 get_post_custom 构建的自定义字段

于 2012-07-25T13:51:24.687 回答