更改列出我的 CustomPostType (edit.php?post_type=CPT) 的默认全局编辑 link,改为使用插件页面 link

Change the default global edit link that lists my CustomPostType (edit.php?post_type=CPT), to use a plugin page link instead

我正在开发一个插件(带有 https://wppb.me/ 插件样板库,如果相关的话)。

我用我想要的编辑器选项定义了我的自定义 post 类型,我可以使用默认 /wp-admin/post.php?post={id }&action=编辑

这些 CPT 的列表仅在我的插件页面上完成(没有 CPT 的特定菜单),我想保持这种状态。

问题: 我想在未指定 ID 时更改此 post 类型的基本编辑 link (例如:/wp-admin/edit.php?post_type=CPT)成为我插件的 URL (例如:/wp-admin/admin.php?page=myplugin)

这主要是因为在 Gutenberg Editor Fullscreen 中,左上角的 wordpress 标志 links 到 /wp-admin/edit.php?post_type=CPT 我不知道既不会使用也不会显示。我希望这个 link 成为我的插件的一个页面(在这里,它将是我的插件的主页)

当没有提供 ID 时,我尝试在 get_edit_post_link 上使用过滤器,但这似乎不是解决我的问题的正确方法。

欢迎任何提示或帮助让我在研究中朝着正确的方向前进!

我找到了一种可能的解决方案。进入站点后,必须重定向用户。

function wp_custom_update_meta_cache_filter() {
    global $pagenow, $typenow;
    if ( $pagenow == 'edit.php' && $typenow == 'CPT' ) {
        wp_safe_redirect();
        die();
    }
}
add_action( 'admin_init', 'wp_custom_update_meta_cache_filter' );

基于(233行): https://github.com/dipolukarov/wordpress/blob/master/wp-content/plugins/woocommerce/admin/woocommerce-admin-init.php