WordPress文章列表页显示缩略图让博客内容更加丰富,美观,那么如何调用WordPress缩略图呢?下面的代码可以帮你实现这个功能,具体效果可见本站首页
特点:
1.判断文章是否设置了特色图像,若有则显示特色图像;
2.若没有特色图像时,查找文章中是否包含图片,若有图片,则调用第一张图片;
在发布文章、更新文章时,如果没有设置特色图像,则自动选取文章中包含的第一张图片设为特色图像。如果文章中不包含任何图片,则从默认的多张图片中选取一张。原理很简单,编写一个函数并添加到相应的事件中去即可
function autoset_featured() { global $post; $already_has_thumb = has_post_thumbnail($post->ID); if (!$already_has_thumb) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } } } add_action('the_post', 'autoset_featured'); add_action('save_post', 'autoset_featured'); add_action('draft_to_publish', 'autoset_featured'); add_action('new_to_publish', 'autoset_featured'); add_action('pending_to_publish', 'autoset_featured'); add_action('future_to_publish', 'autoset_featured');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
function
autoset_featured
(
)
{
global
$post
;
$already_has_thumb
=
has_post_thumbnail
(
$post
->
ID
)
;
if
(
!
$already_has_thumb
)
{
$attached_image
=
get_children
(
"post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1"
)
;
if
(
$attached_image
)
{
foreach
(
$attached_image
as
$attachment_id
=
>
$attachment
)
{
set_post_thumbnail
(
$post
->
ID
,
$attachment_id
)
;
}
}
}
}
add_action
(
'the_post'
,
'autoset_featured'
)
;
add_action
(
'save_post'
,
'autoset_featured'
)
;
add_action
(
'draft_to_publish'
,
'autoset_featured'
)
;
add_action
(
'new_to_publish'
,
'autoset_featured'
)
;
add_action
(
'pending_to_publish'
,
'autoset_featured'
)
;
add_action
(
'future_to_publish'
,
'autoset_featured'
)
;
|