这 自定义帖子格式 的 WordPress 允许您将经典的 WordPress 博客转变为真正有趣的发布平台。让我们看看它是如何工作的!
帖子格式的定义
帖子格式:kesako?
这 帖子格式 的 WordPress 是世界上最著名的博客 CMS 第 3 版发布后推出的一项新功能。这是一个功能,可以让您 将文章细分为几种类型,以便根据它们的内容在您的博客上以不同的方式呈现它们。
通过自定义帖子格式,您可以使您的博客在内容和形式上具有互动性、生动性和多样性。以下是 WordPress 目前提供的文章格式列表:
- 默认:普通项目。
- 旁白:快速文章。
- 猫:对话。
- 图库(gallery):照片库。
- 链接:一个或多个外部链接。
- 图像:简单图像。
- 引用
- 状态:例如 Facebook 或 Twitter 上的状态。
- 视频
- 声音的
受到交互式有趣博客提供商 Tumblr 的启发,此功能可以根据所涵盖的主题类型以不同的方式显示内容,从而为传统博客或杂志注入活力。这 翻滚十主题 例如(见左图)非常明确地展示了 Post 格式的可能性。
事实上,这里有趣的一面是为每种类型的内容以及不同的文章元素提供特定的图标。例如,您可以选择仅显示链接、仅显示标题或仅显示没有标题的文章内容,甚至可以选择显示视频或照片库。
就忠诚度而言,无论是企业博客、娱乐博客、个人博客还是新闻博客,这都是提高博客吸引力的一步。这种类型的功能可以将类似 Twitter 的状态、详细文章或社论、视频等整合到一个博客中。
帖子格式和自定义帖子类型之间的区别
许多人不理解自定义帖子类型和帖子格式之间的区别,这两个功能本来就是重复的。事实上,自定义帖子类型创建了非文章的新内容类型。事实上,例如,一侧的文章和另一侧的页面是两种不同类型的内容。因此,通过创建自定义帖子类型,您正在创建一种新的内容类型。例如,这可以是电影评论、概况介绍、产品、实习生等。
相反,帖子格式是帖子的类型(因此是文章的类型):它们具有标准的特殊性,因此不太可定制(换句话说,上面提供的帖子格式列表按原样,不能先验地修改),并在博客上随处显示为帖子。
在您的 WordPress 博客上安装 Post 格式
在博客上安装帖子格式需要执行以下步骤。这些并不构成存储库,并且存在多种实现方法。
启用自定义帖子格式
要在 WordPress 主题上激活自定义帖子格式,请转到主题的functions.php 文件以添加以下行。您可以删除不想使用的帖子格式。
添加主题支持(
'后格式',数组(
'在旁边',
'猫',
'画廊',
'图片',
'关联',
'引用',
'地位',
'视频',
'声音的'
)
);
现在,您应该在 WordPress 管理员中看到与文章格式相关的小框,更准确地说是在帖子发布表单的右侧:
既然帖子格式已激活,这并不意味着您会在博客上看到差异。事实上,即使为您的一篇文章选择“聊天”,在您修改文章文件的代码以及顺便说一下的 CSS 文件之前,它也不会以聊天的形式显示。
事实上,add_theme_support 函数安装了自定义帖子格式的基本功能,但您可以自行决定使您的主题兼容。但别担心,我会告诉你如何做!
has_post_format() VS get_template_part
您可以使用两个选项来使主题文件与帖子格式兼容。如果您刚刚开始并且对 PHP 代码不太熟悉,第一个是一个简单的解决方案,可以帮助您了解原理,第二个是最干净的解决方案。
has_post_format() 函数
WordPress 提供了此功能来实现您的帖子的显示位置,以便自定义您想要为每种帖子格式显示的内容。仅当您只有几种文章格式并且您想加快工作速度时才建议使用此方法:)
Loop.php 和 single.php
if (has_post_format('aside')) {
//显示快速帖子的代码
} elseif (has_post_format('聊天')) {
//显示聊天文章相关的代码
} elseif (has_post_format('gallery')) { //显示与帖子照片库相关的代码
} else { //显示您的主题的标准代码,用于显示您的文章
}
请注意:即使您选择下面的方法,在所有情况下仍必须在 single.php 文件中使用此代码。
get_template_part() 函数
在充满条件结构的丰富主题文件中,上面引用的方法不是很有条理。因此,我们将拆分代码以使其尽可能清晰。
循环.php
如果(have_posts()):
while (have_posts()): the_post();
如果(!get_post_format()){
get_template_part('格式', '标准');
} 别的 {
get_template_part('格式', get_post_format());
}
最后;
换句话说:如果当前循环中的文章不呈现特定的文章格式,则启动标准主题,否则启动与帖子格式相关的主题。
因此,使用此代码,我们需要创建标准和特定文件。要做到这一点,没有什么比这更简单的了,您只需要创建一个包含标准循环的 format-standard.php 文件,然后创建一个包含与视频文章显示相关的代码的 format-video.php 文件,然后创建一个 format -aside.php 文件,其中包含与显示文章“en passant”等相关的代码...
post_class() 函数
特别有趣的是,此功能将允许您以文章格式实现一个类,以便随后通过 CSS 文件对其进行个性化设置。让我们放大一下旁边的格式,例如:
if (has_post_format('aside')) {
<div id=" »post-NO NUMERIC NOISE KEY" 1001 » no numeric noise key 1000>
<?php the_content();?>
</div>
} else { //显示您的主题的标准代码,用于显示您的文章
}
post_class() 函数将附属于该类 .format-aside 例如,您的帖子“顺便”。
通过CSS文件自定义文章格式的风格
正如我们在上面看到的,aside 格式的特点是 .format-aside 类。因此,您所要做的就是在 CSS 文件中设置此格式的样式!例子 :
.format-aside h2 {字体大小:2em}
.format-aside {
背景: url(images/aside.png) -118px 14px;
-webkit边框半径:10px;
-moz-边框半径:10px;
边框半径:10px;
内边距:15 像素 20 像素 5 像素;
位置:相对; }
通过此代码,我们告诉“en passant”类型的帖子显示特定的壁纸、特定的标题大小和圆形边框,足以美观地突出显示此类内容。您可以发挥您的想象力并添加各种样式,然后将该过程推广到所有帖子格式!
摘要示例
下面是一个总结性的交钥匙代码,用于将这些想法付诸实施:
在显示内容的loop.php(或index.php)文件中:
如果(have_posts()):
while (have_posts()): the_post();
if(!get_post_format()) { get_template_part('格式', '标准');
} else { get_template_part('format', get_post_format());
}
最后;
万一;
标准格式.php:
用于显示文章的主题的默认内容。
格式aside.php:
<div id=" »post-NO NUMERIC NOISE KEY" 1001 » no numeric noise key 1000>
<?php the_content();?>
</div>
从 RSS 源中排除某些帖子格式
在发布某些格式的短文或与情绪时刻相关的文章时很有用 – 我特别想到的是状态、旁白、聊天等 – 这个功能在这里发现 将使您不会用替代内容“污染”您的 RSS 提要。事实上,如果您有很多读者关注您的 RSS 提要,他们很快就会面临因帖子格式涌入的大量新闻而感到不安的风险。
将“post-format-status”或“aside”替换为您要排除的帖子格式。
函数.php:
// 从 RSS feed 执行某些帖子格式:
函数排除_post_formats_from_feeds( &$wp_query ) {
// 如果提要查询:
if ($wp_query->is_feed()) {
// 要排除的帖子格式数组,按 slug,
// 示例:“post-format-{format}”
$post_formats_to_exclude = 数组(
'格式化后状态',
'后格式放在一边'
);
// 破解 $wp_query 对象的额外查询:
$extra_tax_query = 数组(
'分类' => 'post_format',
'场' => '蛞蝓',
'条款' => $post_formats_to_exclude,
'操作员' => '不在'
);
$tax_query = $wp_query->get( 'tax_query' );
如果(is_array($tax_query)){
$tax_query = $tax_query + $extra_tax_query;
} 别的 {
$tax_query = 数组( $extra_tax_query );
}
$wp_query->set('tax_query', $tax_query);
}
}
10 响应
你好,
我花时间给您留下评论,祝贺您这篇文章的质量:我刚刚发现了帖子格式(我的主题不兼容,我没有收到有关此新功能的警报),并且您的教程准确回答了,简单而准确地问自己的问题。帽子 🙂
非常感谢,很高兴看到工作得到积极的反馈! 😉
没什么。我正在添加另一层,但您机构的博客确实因其质量而脱颖而出 - 更不用说真正掌握的设计了。坦率地说,当我需要服务的那一天,我会认真考虑与您谈论我的项目。如果我遇到正在寻找代理机构的人,情况也是如此。
非常感谢巴蒂斯特,我们在互联网上工作了很长时间,但这个网站是最近才建立的,我确保向网上已有的内容添加相关和补充内容😉另一方面,主题,由一位优秀的平面设计师 WordPress 签名,可在网络上使用,尽管我根据帖子格式精确定制了:)
无论如何,感谢您转发我们的内容,具有讽刺意味的是,当我几年前看到您创建的论坛时,我正在和我的朋友做同样的事情......!
早上好,
实际上,我的主题有很多不同的文章格式,但如果我选择其中一种,除了图库格式之外,它不会改变,但我只看到图像,而不是文章的摘录
这很奇怪,因为在另一个博客上我选择了图库格式,并且我得到了带有文章摘录的照片
感谢您的帮助
先验 get_post_format_strings 函数允许您管理和修改预定义格式
早上好,
无法使用我的主题激活帖子格式。
我尝试了一切,尝试了太多,以至于我做出了错误的举动,整个博客都被删除了。
我失去了一切,但我仍在决定,我想为我的帖子添加图库格式,但我真的做不到。
我遵循了你的教程,但遇到了麻烦。
请帮助我
你好
你的文章对我来说似乎很清楚,但是我可以在我的电力博客文章中选择格式模式,但是当我激活格式时没有任何反应!
您好,您知道此帖子格式功能是否允许您直接从主页上的缩略图打开信箱中的帖子吗?
这个网站的信息真的很丰富!
继续发帖。