我使用下划线。me框架和我的内容。php(显示帖子循环的模板)我有以下代码:
<div class="article-text dot-ellipsis">
<div class="article-title clickablediv">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a><br>
</div>
<div class="excerpt-index clickablediv">
<a href="<?php echo get_permalink(); ?>"></a>
<?php the_date(); echo " - ";
$my_excerpt = get_the_excerpt();
if ( \'\' != $my_excerpt ) {
}
echo $my_excerpt;
?>
</div>
</div>
这使我能够为每篇文章设置样式。然而,我希望能够对每个帖子的格式进行不同的样式设置,以便“状态”帖子和常规帖子得到不同的标记。我想在没有CSS的情况下做到这一点!
我不确定这是否有意义,但换言之,有没有办法做到:
如果post格式为“status”,则应用以下标记-->>什么
如果post格式为“quote”,则应用以下标记-->>某些内容
等等默认情况下,适用于Wordpress中可用的所有格式。
最合适的回答,由SO网友:Howdy_McGee 整理而成
因为您需要一个特定的HTML结构,所以让我们保持干净,做什么The Codex 建议-根据帖子格式将其分解为模板部分。让我们在主题中创建一个子文件夹来存储这些帖子格式POST_TYPE_SLUG-formats
所以很清楚这个文件夹中有什么内容(用实际的post-type-slug替换大写)。然后我们可以将文件存储在此文件夹中,如下所示format-aside.php
包含您需要的所有标记。
最后,我们的循环如下所示:
<?php
if( have_posts() ) {
while( have_posts() ) {
the_post();
$format = get_post_format();
$format = ( FALSE !== $format ) ? $format : \'default\';
get_template_part( \'POST_TYPE_SLUG-formats/format\', $format );
}
}
?>
如果我们的帖子类型只是内置的
post
在主题中有一个子文件夹,名为
post-formats
在一些格式文件中,如:
post-formats/format-aside.php
和
post-formats/format-chat.php
. 如果出于任何原因
get_post_format()
失败并返回
false
这可能是一个好主意
post-formats/format-default.php
作为后备。
在格式化文件中,您可以完全访问循环函数,如the_content()
和the_title()
.