以下是将第一个附件设置为WordPress中帖子的特色图片的方法。这对于“ 用户提交的帖子”很有用,它将“特色图像”附加到每个提交的帖子。
在实施此技术之前,它有助于发布一些测试贴,每个测试贴至少具有一个附加的图像。另外,请记住在修改任何文件之前进行备份。
步骤1:启用特色图像
将以下代码添加到functions.php
:
// 添加特色图像
add_theme_support('post-thumbnails');
set_post_thumbnail_size(130, 100, true); // 特色图像的宽、高
该代码段有两件事:1)为特色图片添加主题支持,以及2)为特色图片设置合理的尺寸(以前称为“发布缩略图”)。随时根据需要调整大小。
步骤2:设定和显示
有了适当的测试帖子并支持特色图像的主题之后,是时候将所有这些放到主题single.php
文件中了(例如),并将以下代码放在循环中的任何位置:
<?php // @ https://wp-mix.com/set-attachment-featured-image/
if (has_post_thumbnail()) {
// 显示特色图像
the_post_thumbnail();
} else {
// 设置特色图像
$attachments = get_posts(array(
'post_type' => 'attachment',
'post_mime_type'=>'image',
'posts_per_page' => 0,
'post_parent' => $post->ID,
'order'=>'ASC'
));
if ($attachments) {
foreach ($attachments as $attachment) {
set_post_thumbnail($post->ID, $attachment->ID);
break;
}
// 显示特色图像
the_post_thumbnail();
}
} ?>
使用以下代码:如果帖子具有特色图片,则显示它,否则我们将第一个附件设置为“帖子缩略图”(又名特色图片),然后显示它。请注意,我们正在使用各种相关的WP函数:
使用食典作为指导,可以通过多种方式自定义此技术。
替代方法
如果您不想把代码添加到循环中,可以使用以下替代方法通过functions.php
文件设置特色图片:
// @ https://wp-mix.com/set-attachment-featured-image/
add_filter('the_content', 'set_featured_image_from_attachment');
function set_featured_image_from_attachment($content) {
global $post;
if (has_post_thumbnail()) {
// 显示特色图像
$content = the_post_thumbnail() . $content;
} else {
// 获取和设置特色图像
$attachments = get_children(array(
'post_parent' => $post->ID,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order'
));
if ($attachments) {
foreach ($attachments as $attachment) {
set_post_thumbnail($post->ID, $attachment->ID);
break;
}
// 显示特色图像
$content = the_post_thumbnail() . $content;
}
}
return $content;
}
这段代码基本上与以前的技术操作方式相同,不同之处在于,我们the_content
使用get_children()而不是get_posts()进行过滤。根据需要自定义,玩得开心!
更新!您可能还对我的技术感兴趣,这些技术用于显示帖子中附加的所有图像以及使用“用户提交的帖子”显示图像。奖金!:)