Gutenberg 与我的插件短代码有冲突,似乎显示在编辑器页面上

Gutenberg having conflict with my plugin short code and seems to be displaying on editor page

我制作了我的第一个插件,它在前端运行良好,但我与 gutenberg 有一些奇怪的后端冲突。我做了两件事,让我的插件自动添加页面/在它们被选中时覆盖它们,并制作插件简码。

这是我的古腾堡的问题:

如您所见,页面上有随机的红色钻石。当我使用检查器时,我可以看到它有我创建的插件的代码...

这是我创建插件的方式

首先在我的功能页面中注册了一个新的短代码。

add_shortcode('parts_listing_portal', 'portal_parts_list');

function portal_parts_list(){

    include "shortcodes/parts_listing_shortcode.php";

    return ;
}

然后我使用 JS、PHP 和 HTML 为简码内部制作了内容。(这是一个包含包含和 API 调用的大文件)

在页面看起来像我想要的样子后,我创建了一个新函数来处理我的选项提交。此函数创建包含短代码的页面。

    //Add parts
    if ( get_option( 'parts' ) === "checked") {
        $parts_list = array(
            'post_title'     => 'Parts',
            'post_type'      => 'page',
            'post_name'      => 'Parts',
            'comment_status' => 'closed',
            'ping_status'    => 'closed',
            'post_content'   => '[parts_listing_portal]',
            'post_status'    => 'publish',
            'post_author'    => get_user_by( 'id', 1 )->user_id,
            'menu_order'     => 0
        );
        
//        PARTS LIST
        if(get_page_by_title('Parts') == null) {
            wp_insert_post($parts_list);
        }else{
            $post_exists = get_page_by_title("Parts" );
            $update_post = array('ID' => $post_exists->ID);
            $post_update = wp_parse_args($parts_list, $update_post);
            wp_update_post($post_update);
        }

当我的函数添加到页面并且您转到 gutenberg 编辑器时,它会显示整个页面一瞬间然后消失。我觉得我错过了某个地方的声明,只显示在“页面”上,但我不知道去哪里看。我花了很多时间研究它,但找不到它。

谢谢

无论何时添加短代码,请务必在管理区域检查 iif。如果在管理区 return 什么都没有

function portal_parts_list(){
    if ( is_admin()){
        return;
    }else {
        include "shortcodes/parts_listing_shortcode.php";
        return ;
    }


}
add_shortcode('part_description_portal', 'portal_parts_list');