我是WordPress主题开发的新手, 对于显示单个帖子的single-php文件我有一些疑问。
我已经从index.php文件创建了这个single.php文件:
Testo Introduttivo简介文本
<
!-- SEZIONE IN CUI VENGONO VISUALIZZATI I POST DEL BLOG: -->
<
section id="blog-posts">
<
header class="header-sezione">
<
?php
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the post format-specific template for the content. If you want to
* use this in a child theme, then include a file called called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( 'content', get_post_format() );
// Previous/next post navigation.
//twentyfourteen_post_nav();
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile;
?>
<
/header>
<
!-- Qui viene visualizzato il singolo articolo -->
<
/section>
<
section id="partnerSlide">
<
header class="header-sezione">
<
h2>
Partner e Sostenitori<
/h2>
<
/header>
<
div class="row">
<
?php
// 'My_Widgtet_Area' area, where the id is called:
if (is_active_sidebar('partner-slide')) : ?>
<
div id="widget-sidebar">
<
ul>
<
?php dynamic_sidebar('partner-slide');
?>
<
/ul>
<
/div>
<
!-- #widget-sidebar .widget-area -->
<
?php endif;
?>
<
/div>
<
/section>
【有关single.php工作原理 WordPress文件的一些信息()】因此, 我获取了index.php文件, 并删除了所有我不想在后期可视化中显示的内容(因此, 我只保留了index.php文件主题的框架)
然后, 我添加以下代码以显示我的帖子:
<
?php
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the post format-specific template for the content. If you want to
* use this in a child theme, then include a file called called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( 'content', get_post_format() );
// Previous/next post navigation.
//twentyfourteen_post_nav();
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile;
?>
它可以正常工作, 但是我在理解先前代码的确切功能时遇到了一些问题:
我知道通过这一行, 我在The Loop上引用了我点击的帖子(要显示的帖子):
while ( have_posts() ) : the_post();
我不明白的是执行此操作时到底要做什么:
get_template_part( 'content', get_post_format() );
在阅读文档(http://codex.wordpress.org/Function_Reference/get_template_part)时, 我似乎了解它已将预定义的模板加载到我的主题中(如放在我的主题中的代码片段)
我认为这将在页面上打印我的帖子的代码(标题, 标题下的作者姓名和日期下的帖子文本, 最后是类别和添加评论链接)
实际上, 我是否将content.php文件放在声明先前代码的位置?
特纳克斯
安德里亚
是真的吗
#1安德里亚
你是对的。这等效于” 包含” 。
打破这个
get_template_part( 'content', get_post_format() );
get_template_part// is calling a function to locate the template partial aka include'content'// this is the base slug.
//Think of it like a root word as opposed to a suffix.get_post_format()//is saying get the particular content "partial" or "include"
这是在做什么?假设你正在使用” 视频” 格式的帖子(创建帖子时在右侧, 你可以选择” 帖子格式” -)
标准音频旁听聊天库图像链接报价状态视频
好的, 假设你单击了” 视频” 单选按钮。因此, 此帖子包含一个视频。
现在, 回到你的get_template_part … 这将首先查找名为” content-video.php” 的文件。如果你尚未创建文件, 那么它将回退至默认文件” content.php”
这就是为什么你在get_template_part中有第二个项目。由于它为你提供了某种” 后备” 功能, 以防丢失特定模板, 因此可以查找” 默认” 模板。
查找文件的顺序是这个
如果你使用的是子主题, 它将首先出现在子主题文件夹/目录中content-video.php content.php
然后, 如果找不到该文件, 它将在父主题文件夹content-video.php content.php中查找文件。
你正在使用儿童主题, 对吗?> ?>
你可以在任何地方使用它的其他优点……甚至有条件地包括它。
例如, 如果你想包括一个订阅电子新闻的要约, 但仅当某人正在阅读特定类别的帖子时, 才可以执行以下操作…
if (in_category( '327' )){
get_template_part('partials/enewssignup');
}
这将引用位于/ partials文件夹中的文件enewssignup.php。
推荐阅读
- 在不创建新表的情况下为WordPress插件存储变量
- 在移动设备上滚动时,将锁定元素平滑化到屏幕顶部
- 分享pp助手设置铃声的图文详细教程
- 靠谱助手如何绑定谷歌账号
- 小米盒子WiFi热点怎样设置
- 眼萌激活防删除开关图文详细教程
- 压缩软件哪个好?2345好压与WinRAR的解压缩实力比较
- 手机淘宝摇一摇怎样玩
- 百度钱包信用卡还款图文详细教程