-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
wordpress數(shù)據(jù)庫字段(wordpress數(shù)據(jù)庫配置過程)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于wordpress數(shù)據(jù)庫字段的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網頁版、PC客戶端
創(chuàng)意嶺作為行業(yè)內優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、求wordpress 添加自定義字段的方法?
自定義域的值都是寫入 post_meta 的,你寫入 posts 與 wordpress 的開發(fā)理念違背
能實現(xiàn)功能就行,不明白你為什么搞這么復雜
二、怎么清理優(yōu)化wordpress數(shù)據(jù)庫
一、數(shù)據(jù)庫表清理
1. wordpress數(shù)據(jù)庫表
wp_commentmeta: 用于保存評論的元信息,在將評論放入回收站等操作時會將數(shù)據(jù)放入此表,Akismet等插件也會生成此表的數(shù)據(jù)。此表不太重要
wp_comments: 用于保存評論信息的表
wp_links: 用于保存用戶輸入到Wordpress中的鏈接(通過Link Manager)的表
wp_options: 用于保存Wordpress相關設置、參數(shù)的表,里面包括了大量的重要信息
wp_postmeta: 用于保存文章的元信息(meta)的表
wp_posts: 用于保存你所有的文章相關信息的表,非常的重要。一般它存儲的數(shù)據(jù)是最多的
wp_terms: 文章和鏈接分類以及文章的tag分類可以在表里找到
wp_term_relationships: 日志與wp_terms中的類別與標簽聯(lián)合起來共同存儲在wp_terms_relationships表中。類別相關鏈接也存儲在wp_terms_relationships中
wp_term_taxonomy: 該表格對wp_terms表中的條目分類(類別、鏈接以及標簽)進行說明
wp_usermeta : 用于保存用戶元信息(meta)的表
wp_users:用于保存Wordpress使用者的相關信息的表
2. 清理涉及到的表
更換主題,刪除插件會在將數(shù)據(jù)留在數(shù)據(jù)庫中,在卸載后無法被清理。除此之外,在由于一些操作,會導致數(shù)據(jù)庫的冗余,比如已經沒有的評論,不應該在評論元數(shù)據(jù)表中有記錄,由于沒有外鍵的約束,這些記錄沒有被刪除,會造成數(shù)據(jù)的冗余。本文的宗旨是刪除掉不必要的數(shù)據(jù)庫內容,提高wordpress的效率
在此,主要涉及到一下幾張表:wp_options,wp_posts,wp_postmeta,wp_commentmeta
注意清理之前進行備份
3. wp_options的清理
wp_options 這個數(shù)據(jù)表是wordpress設置的全局數(shù)據(jù),這個表會經常有數(shù)據(jù)膨脹。主要原因是:
(1)以前用過的一些插件、主題在刪除之后沒有進行設置的清理,造成殘留數(shù)據(jù)
(2)占用數(shù)據(jù)的大戶–RSS緩存,后臺的數(shù)據(jù)調用竟然會放到數(shù)據(jù)庫里面
處理方法:
①網上對RSS處理方法有兩種一個是修改后臺的文件直接不去調用,這個是我不喜歡的畢竟修改了程序,其實這個很容
易忘記WP升級是太頻繁的哪次更新覆蓋了新文件還是照樣緩存.另外一種就是在配置文件里面填寫define(‘MAGPIE_CACHE_ON’, ’0′); 這個是管用的,添加以后后臺首頁的調用明顯變慢
②使用插件clean options
③費力但是簡單的清除方法:刪除wp_options表,會刪除一些設置,需要重新設置wordpress,推薦新手使用
TRUNCATE TABLE wp_options;
4.wp_posts清理
wordpress的文章有好多:wp_posts表中包括
文章種類:文章、修訂版本、頁面、文章的附件、菜單
其中每種文章又會有很多狀態(tài):繼承、發(fā)布、私有、草稿、自動草稿、回收站中
冗余原因:
(1)在博主寫文章的時候,系統(tǒng)會保存很多的中間狀態(tài),在文章發(fā)布之后其很多的中間狀態(tài)沒有被刪除
解決辦法:
①使用插件:WP Cleaner,使用插件的好處就是有保護機制,無論怎么操作都無法影響已發(fā)布的貼子,請放心使用
②自己動手刪除,數(shù)據(jù)庫中的標志刪除文章,注意備份
說明:wp_posts的重要字段含義:
post_type:文章類型,post表示為文章,revision表示為修訂版本,page為頁面,attachment是文章的附件信息,nav_menu_item是菜單。這里我們需要的是文章、頁面、和菜單
post_status:文章狀態(tài),inherit是繼承的附件和文章的附帶信息,publish是已經發(fā)布、private是私有的,draft是草稿,auto-draft是自動草稿,trash是在回收站。這里我們需要的是publish的狀態(tài)的
這里我們主要是要 已經發(fā)布的文章、頁面和菜單,除此之外的都可以刪除,當然可以根據(jù)自己的需求選擇刪除哪些
DELETE FROM wp_posts
WHERE NOT(post_status = ‘publish’ AND post_type IN(‘post’,'nav_menu_item’,’ page’));
③去除WP保存修訂版本的功能
WordPress默認的功能并不都是我們想要的,比如修訂版本歷史對于大多數(shù)人來說是無用的雞肋功能。所以我么需要禁止一些博客功能,來達到較為符合個
人要求的博客應用。對于高手來說,可以直接修改程序的配置文件,來禁止相關功能。對于我等程序小白來說還是利用插件是最佳的選擇
推薦中文插件SuperSwitch來關閉一些我們不需要的博客功能。這個插件可以關閉自動保存和修訂歷史版本,還可以關閉博客程序、主題、插件的自動更新。功能非常強大,操作及其簡單。用SuperSwitch禁止了保存修訂版本之后,文章序號就不會斷得太厲害了
5.wp_postmeta清理
wp_postmeta是文章的元信息表,其數(shù)據(jù)是系統(tǒng)或者插件使用
冗余原因:
(1)文章被刪除之后,其在wp_postmeta中的數(shù)據(jù)理應被刪除,在系統(tǒng)中多數(shù)情況是系統(tǒng)自動刪除,但是由于人為刪除文章,系統(tǒng)不知道被刪除,就不會刪除wp_postmeta表中的數(shù)據(jù),造成冗余
(2)很多主題、插件沒有做好及時清除的工作
解決辦法:
① 手動刪除
規(guī)矩刪除
刪除文章中不存在文章的元信息
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);
安全刪除
刪除_edit_lock和_edit_last條目是安全的,所以這里給出SQL語句
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;
風險刪除
除了這兩條還執(zhí)行了一些其他語句由于有些風險:自己酌情考慮
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_old_slug’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_revision-control’;
DELETE FROM wp_postmeta WHERE meta_value = ‘{{unknown}}’;
特殊插件刪除
postnav插件會記錄每個文章的訪問數(shù),如果不需要,可以刪除
DELETE FROM wp_postmeta WHERE meta_key = ‘views’;
特殊操作刪除
在WordPress的后臺上傳圖片或者附件后會在wp_postmeta中生成_wp_attached_file和_wp_attachment_metadata兩個項,wp_posts也會記錄附件的信息。如果使用FTP工具上傳文件,表中就不會有這些信息
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attached_file’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attachment_metadata’;
潔癖刪除
這幾條條語句執(zhí)行完畢能夠刪除掉95%以上的數(shù)據(jù),算的上是極限優(yōu)化了,最后考慮到這個數(shù)據(jù)表并不是很重要,有潔
凈癖的人可以嘗試清空這個表,當然我測試清空表會讓一些原本的數(shù)據(jù)丟失
TRUNCATE TABLE wp_postmeta;
6. wp_commentmeta清理
冗余原因:
(1)評論被刪除之后,其在wp_commentmeta中的數(shù)據(jù)理應被刪除,在系統(tǒng)中多數(shù)情況是系統(tǒng)自動刪除,但是由于人為刪除文章,系統(tǒng)不知道被刪除,就不會刪除wp_commentmeta表中的數(shù)據(jù),造成冗余
(2)很多主題、插件沒有做好及時清除的工作
解決辦法:
一下語句去除沒有用的數(shù)據(jù),如果評論中沒有此條評論,那么在wp_commentmeta也沒有意義,好像wordpress在清空回收站的時候會刪除wp_commentmeta相應的數(shù)據(jù)。如果不出意外,下面的操作我們應該不需要做
DELETE FROM wp_comments WHERE comment_approved = ‘trash’;
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);
在wp_commentmeta里面會記錄評論被刪除的時間,這些信息用處不是很大,當評論被從回收站刪除之后,這些刪除的時間意義就不是很大,就可以刪除了,所以用下面的語句一樣達到刪除的目的
DELETE FROM wp_commentmeta WHERE meta_key LIKE ‘%trash%’;
如果直接全部刪除wp_commentmeta,影響不會太大,這里面不會涉及重要的數(shù)據(jù)
TRUNCATE TABLE wp_commentmeta
7. 總結
其實大部分無用的數(shù)據(jù)均在這幾張表中,清理過后應該不會又太多的冗余數(shù)據(jù)了。但這里沒有針對特殊插件或主題做數(shù)據(jù)庫清理,有時這些插件和主題會悄悄動了一些數(shù)據(jù)庫表,這樣給清理帶來很大難度,需要看代碼才知道哦
二、數(shù)據(jù)庫表優(yōu)化
原理:數(shù)據(jù)庫優(yōu)化不
涉及數(shù)據(jù)的刪除,是將數(shù)據(jù)庫的表的狀態(tài)調整好。在使用phpmyadmin時候,或許您會看到數(shù)據(jù)庫表后面有多余xxMB的字樣,這個指的是那些已經分配
給當前表但是卻沒有使用的空間。這個多余是沒有什么害處的,他不會占用你的空間。當刪除一個表的一部分記錄時,這些記錄仍然保持在一個linked
list 中,當插入新數(shù)據(jù)時會再次使用這些老紀錄的位置。所以刪除紀錄會閑置一些空間造成你說的“多余”
優(yōu)化:
(1)在phpmyadmin手動 優(yōu)化或者修復表即可
(2)運行SQL:
OPTIMIZE TABLE wp_commentmeta;
OPTIMIZE TABLE wp_comments;
OPTIMIZE TABLE wp_links;
OPTIMIZE TABLE wp_options;
OPTIMIZE TABLE wp_postmeta;
OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_terms;
OPTIMIZE TABLE wp_term_relationships;
OPTIMIZE TABLE wp_term_taxonomy;
OPTIMIZE TABLE wp_usermeta;
OPTIMIZE TABLE wp_users;
(3)插件:Optimize DB
我是使用SQL語句進行清理與優(yōu)化的,附我的優(yōu)化SQL語句(我的表前綴是wp1):
DELETE FROM wp1_posts WHERE NOT(post_status = ‘publish’ AND post_type IN(‘post’,'nav_menu_item’,’ page’));
DELETE FROM wp1_postmeta WHERE meta_key in (‘_edit_lock’,
‘_edit_last’, ‘_wp_old_slug’, ‘_revision-control’, ‘{{unknown}}’,
‘_wp_attached_file’, ‘_wp_attachment_metadata’);
DELETE FROM wp1_postmeta WHERE post_id NOT IN (SELECT id FROM wp1_posts);
DELETE FROM wp1_comments WHERE comment_approved like ‘%trash%’;
DELETE FROM wp1_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp1_comments);
OPTIMIZE TABLE wp1_commentmeta;
OPTIMIZE TABLE wp1_comments;
OPTIMIZE TABLE wp1_links;
OPTIMIZE TABLE wp1_options;
OPTIMIZE TABLE wp1_postmeta;
OPTIMIZE TABLE wp1_posts;
OPTIMIZE TABLE wp1_terms;
OPTIMIZE TABLE wp1_term_relationships;
OPTIMIZE TABLE wp1_term_taxonomy;
OPTIMIZE TABLE wp1_usermeta;
OPTIMIZE TABLE wp1_users;
三、求wordpress 添加自定義字段的方法?
你好,直接在發(fā)表文章的時候添加自定義字段就可以了!
四、wordpress如何將文章批量導入數(shù)據(jù)庫?
大概步驟:
1、發(fā)布文章到wp_posts表中,這個表里面就是文章的標題,內容等等;
2,修改wp_term_relationships表,這個表可以指定文章放在哪個分類下面
'INSERT INTO `wordpress`.`wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES (文章ID, 目錄ID, ''0'');
其中文章ID從wp_posts表中獲取,目錄ID從wp_terms表中獲取
3.標簽內容需要修改表wp_postmeta
以上就是關于wordpress數(shù)據(jù)庫字段相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀:
wordpress獨立站收款方式(wordpress跨境自建站 收款)
wordpress自動適應手機(wordpress適配手機)
杭州恒榮建筑工程有限公司(杭州恒榮建筑工程有限公司在建工程)