2017-04-05 21 views
0

訪問當我點擊瀏覽旁邊的修改,可鏈接到... /可溼性粉劑管理員/ revision.php?修訂= 190,我重定向到/wp-admin/edit.phpWordPress的修訂都被保存,但不是rev​​isions.php

一些事實:

  • 這個問題只適用於自定義後的類型,而不是文章或網頁。當文章類型首次登記的,不支持
  • 修訂,但他們現在是
  • 修訂保存到數據庫中,我發現在結構
  • wp_get_post_revisionwp_get_post_revisions工作無異常如預期
  • 修訂無論元框爲空的我多少修訂使
  • WP_DEBUG設置爲true,但我沒有看到任何錯誤

我已經搜索了很多,但我只找到如何激活修訂,這不是我遇到的問題的答案。

有沒有人遇到過這樣的事情,我該如何解決這個問題?

TL; DR:修訂是inaccessable通過/wp-admin/revisions.php dispite沒有顯示在wp_get_post_revisions

UPDATE:

我嘗試添加另一個定製帖子類型,以查看問題是否與未經過其他人的各種操縱的帖子類型一起存在。

添加新的自定義帖子類型時,其他帖子類型(不僅海關)顯示爲空(該列表不顯示帖子)。

即使我刪除了functions.php文件中的所有其他鉤子,過濾器和其他代碼,直到只有這些自定義帖子類型的註冊,這也會持續存在。

TL; DR:註冊另一個自定義帖子類型會導致所有帖子列表顯示爲空。

更新2:

在以前的更新問題僅發生publicly_queryable註冊這個新的自定義職位類型時設置爲true。

更改publicly_queryable爲true,我以前添加不會導致這種行爲,只能用這種新的自定義職位類型(我只加解決)自定義後的類型。

回答

0

這些自定義帖子類型,我無法訪問的修訂版本,已使用自定義功能註冊。

我也安裝了成員插件(https://wordpress.org/plugins/members/)來管理自定義用戶角色的這些功能。

-

我跑瞭如下測試:

// 188 is the ID of a post revision 
echo current_user_can('read_post', 188) ? '1' : '0'; 

// 190 is the ID of a custom post revision 
echo current_user_can('read_kurs', 190) ? '1' : '0'; 

此代碼返回 '10',意味着信息可以進行編輯,而不是一個自定義後的類型。

-

換句話說,似乎我沒有訪問該信息類型,dispite作爲一個管理員。我還測試了一個實際的帖子的ID,而不是一個修訂版,它給出了相同的結果。

但是我可以閱讀所有帖子,這只是由於某些原因而影響修訂。

授予自己(在成員插件)的能力,「read_kurs」固定這個問題。

我沒有這個能力,首先是我這一功能並沒有出現在編輯capabilites,所以dispite已經檢查一切,我仍然沒有獲得閱讀的原因。

我不得不添加「read_kurs」下定製能力,然後檢查其下的「所有」(因爲它沒有下定義文章類型的功能出現)。