2013-03-23 37 views
4

我正在遷移這個網站,我有很多帖子沒有精選圖像。我開始在界面的每頁上做這件事,但它永遠持續下去。我認爲使用數據庫插入可能會更快。如何通過SQL設置WordPress的精選圖像

帖子沒有附加圖片,因此我無法使用插件將自動將第一張圖片設置爲精選圖片。

以前有沒有人做過或者可以將我指向資源?

+0

可能有更好的運氣超過上http://wordpress.stackexchange.com,其中[像這樣的答案](HTTP:// WordPress的.stackexchange.com/questions/15322/programatically-creating-image-attachments-from-local-urls-and-setting-featured)和[this_vaguely_ relevant one](http://wordpress.stackexchange.com/questions/71179)/change-featured-image-urls-in-database)可能會給你一兩個提示。 – Sepster

+0

嗯,我會試着在那邊問。謝謝! – cr8ivecodesmith

+1

我建議_searching_在那裏第一;-)第一個「像這樣的答案」我連接上面看起來很有希望我想。順便說一句,這並不是暗示在這裏也不適合。 WP stackexchange站點經常會有更深入的WP特定知識。 – Sepster

回答

4

我實際上能夠在觀察手頭記錄的數據後使其工作。我只有使用該查詢wp_postmeta表的工作:

INSERT INTO `wp_postmeta` (meta_value, meta_key, post_id) VALUES ('<post_id_of_image>', '_thumbnail_id', <target_post_id>); 

希望這有助於其他人在那裏。

5

我發現這個問題很有趣,因爲我需要插入圖像直接使用sql的wp我調查了一些。 首先你需要有一個帖子或一個頁面來分配特色圖片。我假設你通過wp接口插入了一篇文章,或者調用wp_insert_post()或直接通過sql插入到$ wp-> post中。然後你需要這個帖子的ID,說「target_post_id」。

現在您需要在數據庫中插入圖像。再次,你可以使用以前的方法的任何人,但要快我打開我的所有前縮放後的圖像中,並使用SQL插入它們:

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

最後一步是後到的圖像結合,如回答通過cr8ivecodesmith:

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

有一些不爲空字段WP DB將使用默認值

2

步驟#1將您記錄wp_posts表爲您attahcment

填寫
INSERT INTO wp_posts (post_type, guid, post_status, post_mime_type,post_parent) VALUES ('attachment', '".$filename."', 'inherit', 'image/jpeg',".$parentpostid."); 

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

$ parentpostid = post_id您想要附上您的縮略圖。

第2步創建wp_postmeta後元記錄你的attachement

INSERT INTO wp_postmeta (meta_value, meta_key, post_id) VALUES ('".$filename."', '_wp_attached_file',".$attachmentid."); 

$文件名=您的文件的文件名。 e.ge. 2014/09/thumbnail.jpg $附件ID =上的步驟#創建attachement後POST_ID 1

步驟#3創建帖子元記錄來識別attachement後的縮略圖要連接您的縮略圖後成。

INSERT INTO wp_postmeta (meta_value, meta_key, post_id) VALUES (".$attachmentid.", '_thumbnail_id',".$parentpostid."); 

$ parentpostid =你希望你的縮略圖附加到該職位的POST_ID。

$附件ID =上步驟#創建的附接柱的POST_ID 1

相關問題