Npcink Blog
切换菜单
本页目录4 节

以下是将第一个附件设置为 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 函数:

set_post_thumbnail()

the_post_thumbnail()

使用食典作为指导,可以通过多种方式自定义此技术。

替代方法

如果您不想把代码添加到循环中,可以使用以下替代方法通过 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()进行过滤。根据需要自定义,玩得开心!

**更新!**您可能还对我的技术感兴趣,这些技术用于显示帖子中附加的所有图像以及使用“用户提交的帖子”显示图像。奖金!:)

http://zmingcx.com/WordPress-featured-image.html