如何通过SQL设置Wordpress精选图像

cr8*_*ith 4 mysql wordpress

我正在迁移这个网站,我有很多帖子没有特色图片.我开始在界面上每页执行此操作,但它将永远占用.我认为使用数据库插入可能会更快.

帖子没有附加图像,所以我不能使用自动设置第一个图像作为特色的插件.

你们之前有没有这样做过或者能指出我的资源?

ste*_*ano 7

我发现这个问题很有意思,因为我需要使用直接sql在wp中插入图像,我还调查了一些.首先,您需要有一个帖子或一个页面来分配特色图像.我假设你通过wp接口插入一个帖子,或者调用wp_insert_post()或直接通过sql插入到$ wp-> post.然后你需要这篇文章的ID,比如说"target_post_id".

现在您需要在数据库中插入图像.再次,您可以使用以前的方法中的任何一个,但要快速我将所有预先调整大小的图像加载到a并使用sql插入它们:

INSERT INTO $wp->post (post_type, guid, status, post_mime_type) VALUES ('attachment', '<images_url>', 'publish', 'image/jpeg')
Run Code Online (Sandbox Code Playgroud)

最后一步是将帖子绑定到图像,由cr8ivecodesmith回答:

INSERT INTO $wp->postmeta (meta_value, meta_key, post_id) VALUES ('<post_id_of_image>', '_thumbnail_id', '<target_post_id>');
Run Code Online (Sandbox Code Playgroud)

有一些非空字段,wp db将填充默认值


cr8*_*ith 5

在观察了手头记录中的数据后,我实际上能够使其工作。我只需要wp_postmeta使用查询来处理表:

INSERT INTO `wp_postmeta` (meta_value, meta_key, post_id) VALUES ('<post_id_of_image>', '_thumbnail_id', <target_post_id>);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助其他人。


spq*_*099 5

第 1 步在 wp_posts 表上插入一条记录作为附件

INSERT INTO wp_posts (post_type, guid, post_status, post_mime_type,post_parent) VALUES ('attachment', '".$filename."', 'inherit', 'image/jpeg',".$parentpostid.");
Run Code Online (Sandbox Code Playgroud)

$filname = 要用作缩略图的图像的 url,例如http://yourdomain.com/wp-content/uploads/2014/09/thumbnail.jpg

$parentpostid = 要附加缩略图的帖子的 post_id。

第 2 步在 wp_postmeta 上为您的附件创建一个帖子元记录

INSERT INTO wp_postmeta (meta_value, meta_key, post_id) VALUES ('".$filename."', '_wp_attached_file',".$attachmentid.");
Run Code Online (Sandbox Code Playgroud)

$filename = 文件的文件名。例如 2014/09/thumbnail.jpg $attachmentid = 第 1 步创建的附件帖子的 post_id

第 3 步创建一个帖子元记录,以将附件帖子标识为您将缩略图附加到的帖子的缩略图。

INSERT INTO wp_postmeta (meta_value, meta_key, post_id) VALUES (".$attachmentid.", '_thumbnail_id',".$parentpostid.");
Run Code Online (Sandbox Code Playgroud)

$parentpostid = 要附加缩略图的帖子的 post_id。

$attachmentid = 第 1 步创建的附件帖子的 post_id