首頁>Web>source

我正在使用最新的wordPress(5.6),从我發現的結果来看,没有將媒體直接上傳到資料庫的可见設置.是否有這樣的選項隱藏的地方或wordPress不支援DB作為媒體儲存而不是 wp-content/uploads

我想將DB作為優先順序儲存(或可能的话,是唯一的儲存)而不是檔案系統,然後直接从DB載入媒體(例如發佈圖片)。

最新回復
  • 5月前
    1 #

    是的, wordPress開箱即用地將圖像和其他上載內容仅儲存為檔案。

    尽管从理論上讲,可以通過敲击inton wp_handle_upload()来更改此行為 或 _wp_handle_upload() 以及相關功能,我认為這太複雜且不可靠.此外,由於效能原因,如果圖像過多,我认為這不是一个好主意(然後,我又不是資料庫专家)

    出於很好的考虑,如果要更改上載檔案夹的位置,可以通過定義 UPLOADS wp-config.php檔案中的常量:

    define( 'UPLOADS', 'new-folder-for-uploads' );
    
    編輯1

    添加我對Peter Badida關於的評論的迴複:

    我不確定,但我认為您可以尝試使用 filesystem_method_file 過濾wP_Filesystem函式(位於/wp-admin/includes/file.php的1867行)並添加您自己的抽象。

    請記住,插件和主题可能会使用依赖於基於磁盤的檔案系統的功能,操作和過濾器.因此,您將需要保留许多当前檔案系統以實現相容性,並使事情變得比所需的更為複雜.巨大的知識和wP開發挑战,但从務實的角度来看,我会坚持使用預設檔案系統。

    編輯2(摘自評論)

    wordPress的構建方式可以使您主要通過使用過濾器和操作掛钩来覆盖或擴充套件其许多功能.坚持下去,您的頭痛和不相容問题將大大减少。

    在這裏您可以找到所有或大多數钩子.另外,您可能要搜尋 apply_filterdo_action wordPress Core代碼庫上的字元串。

  • wordpress:使用類进行插件開發-公共和私有回撥
  • wordpress:JS值轉換為PHP變數以使用PHP If else語句更改div背景颜色