wordpress增加文章格式后,也可以调用不同的文章模版

2020-09-04 网站运营

做过wordpress主题模版的朋友都知道,wordprss可以设置一个不同的文章格式,然后在文章列表里通过函数调用不同的content模版。而我们也想通过这个格式来调用不同是single模版。

开启主题的文章格式:

文wordpress自带文章形式有状态、日志、相册、视频、音频等几种,并且可以添加或删减文章形式。 复制下面代码到主题的functions.php文件中,即可看到文章发布页面中文章形式的选项。

add_theme_support('post-formats',array('status','aside','gallery','video','audio'));

然后在文章列表的相应文章插入如下调用代码:

<?php while (have_posts()) : the_post(); ?>
<?php get_template_part('content',get_post_format()); ?>
<?php endwhile; ?>

这样,wordpress就可以根据不同的格式自动调用模版了。比如,你在发布文章时选择的格式为“日志”(aside),那么在文章列表页面就会先找到对应的content-aside.php文件,没有的话会调用默认content.php。

我们也想在调用文章(single.php)模版时能自动识别调用single-aside.php。

那么,如何调用不同的single模版呢?

其实也可类似,我们在single.php文章的最顶端加一个if判断即可:

if (has_post_format()) {
	get_template_part('single',get_post_format());
}else{
//代码
}

这样,wordpress就会优先进行一次调用判断,选择对应的single-aside.php文件了。不过要注意的是,这里必须把每个对应的single都做出来,不然就会进入到一个死逻辑循环。所以我们只开启了部分文章格式:

add_theme_support('post-formats',array('aside'));
称呼
邮箱
网站