【发布时间】:2023-03-07 22:42:01
【问题描述】:
我知道我可以使用 WordPress 中的 wp_insert_post() 函数以编程方式添加帖子,但我想添加带有缩略图的帖子,为此,还要将帖子照片调整/裁剪为正确的 WordPress 尺寸。
这一切都可以通过编程方式实现吗,还是我需要手动进行一些工作(即调整大小/裁剪)?
【问题讨论】:
标签: wordpress thumbnails
我知道我可以使用 WordPress 中的 wp_insert_post() 函数以编程方式添加帖子,但我想添加带有缩略图的帖子,为此,还要将帖子照片调整/裁剪为正确的 WordPress 尺寸。
这一切都可以通过编程方式实现吗,还是我需要手动进行一些工作(即调整大小/裁剪)?
【问题讨论】:
标签: wordpress thumbnails
查看wp_insert_attachment(),在 wp-includes/post.php (Codex article) 中找到。
所以你首先使用wp_insert_post() 创建你的帖子,然后附加文件,有点像这样(修改了 Codex):
<?php
$post_id = wp_insert_post( $my_post_data );
$attach_id = wp_insert_attachment( $attachment, $filename, $post_id );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
set_post_thumbnail( $post_id, $attach_id );
?>
关于图像大小调整/裁剪,如果您进入媒体设置 (yoursite.com/wp-admin/options-media.php),您可以为图像定义自定义尺寸。可能没有您想要的那么强大,但如果您将输出与TimThumb Script 之类的东西集成,您可能会接近您正在寻找的东西。
要查看函数的所有变量,请阅读 post.php 中的注释信息。
【讨论】:
使用 wordpress 的 wp_insert_post 和 wp_insert_attachment 函数插入帖子和附件后,只要您的主题支持帖子缩略图,您就可以使用带有附件 id 的 _thumbnail_id 将缩略图添加到帖子中。
// $post_id = wp_insert_post(...)
// $attach_id = wp_insert_attachment(...)
add_post_meta($post_id, '_thumbnail_id', $attach_id, true);
这样您就可以使用 wordpress 默认功能来调整缩略图大小等。
【讨论】: