自定義插件菜單結構:
測試插件
儀表板
禮品
我有自定義帖子類型突出顯示問題,如果您點擊Add [post type]
鏈接,它將默認爲頂層菜單項,如果它在菜單中找不到Add New [post type]
項目。請參閱以下鏈接澄清:https://core.trac.wordpress.org/ticket/24137
問題被固定在幾個月前,但是,當我走進wp-admin/post-new.php
傾倒了什麼$_registered_pages
載我發現了一些不一致的地方。我用WooCommerce作爲比較的手段。這是什麼樣的$_registered_pages
包含轉儲:
array(16) { ["admin_page_testplugin"]=> bool(true) ["toplevel_page_woocommerce"]=> bool(true) ["product_page_product_attributes"]=> bool(true) ["woocommerce_page_edit?post_type=shop_order"]=> bool(true) ["woocommerce_page_edit?post_type=shop_coupon"]=> bool(true) ["admin_page_edit?post_type=gifts"]=> bool(true) ["users_page_users-user-role-editor"]=> bool(true) ["settings_page_settings-user-role-editor"]=> bool(true) ["toplevel_page_testplugin"]=> bool(true) ["appearance_page_custom-header"]=> bool(true) ["appearance_page_custom-background"]=> bool(true) ["woocommerce_page_wc-reports"]=> bool(true) ["woocommerce_page_wc-settings"]=> bool(true) ["woocommerce_page_wc-status"]=> bool(true) ["woocommerce_page_wc-addons"]=> bool(true) ["appearance_page_theme-editor"]=> bool(true) }
我注意到,它輸出woocommerce_page_edit
爲WooCommerce但admin_page_edit
對我自己的自定義後類型(禮品)......即使它應該出來爲testplugin_page_edit?post_type=gifts
。這意味着當從wp-admin/post-new.php
運行以下代碼get_plugin_page_hookname("edit.php?post_type=$post_type", $post_type_object->show_in_menu)
它永遠不會找到它,因爲它會尋找testplugin_page_edit?post_type=gifts
應該,但不幸的是不存在。
非常感謝您的幫助。