我知道我可以使用WordPress中的wp_insert_post()
功能以编程方式添加帖子,但我想添加带缩略图的帖子,并且就此而言,还要将帖子照片调整大小/裁剪为正确的WordPress大小。
所有这些都是以编程方式实现的,还是我需要手动完成一些工作(即调整大小/裁剪)?
答案 0 :(得分:14)
查看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 );
?>
关于图像大小调整/裁剪,如果转到媒体设置(yoursite.com/wp-admin/options-media.php),则可以为图像定义自定义尺寸。可能没有您想要的那么强大,但如果您将输出与TimThumb Script之类的东西进行整合,您可能会接近您正在寻找的内容。
要查看该函数具有的所有变量,请阅读post.php中的注释信息。
答案 1 :(得分:5)
使用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默认函数进行缩略图调整等。
答案 2 :(得分:1)
自问题提出以来,已有2篇文章被撰写。两者都为您的问题提供略有不同的解决方我希望这些可以帮助别人:
以编程方式将数千个精选图片帖子缩略图导入WordPress http://www.zdnet.com/blog/diy-it/programmatically-importing-thousands-of-featured-image-post-thumbnails-into-wordpress/118
如何:在WordPress中以编程方式通过URL上传媒体 http://theme.fm/2011/10/how-to-upload-media-via-url-programmatically-in-wordpress-2657/