3D FlipBook のプラグインが使えないので、使えるようにしてほしい。

0
いいねをした人: 居ません
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #63815
    田中 昌平
    参加者
    0

    【お使いの Snow Monkey のバージョン】

    バージョン: 12.1.0
    【当該サイトのURL】

    こちらのサイトのデザインリニューアル準備中です。

    ### 発生している問題

    [3D FlipBook – Lite Edition]というPDFを表示するプラグインが有り、利用したいと思っています。

    こちらのプラグインを使おうとしたら、PDFを登録及び表示編集画面が動かないです。

    console で以下のErrorが発生しています。

    DOMException: Failed to execute ‘removeChild’ on ‘Node’: The node to be removed is not a child of this node.

    多分、カスタム投稿の 3d-flip-book で JavaScript (REACT) がぶつかっているようです。

     

    ### 試したこと

    他のテーマを利用したら、特に問題なく編集できました。ちなみに、表示は問題ありません。

    管理画面内の新規追加及び編集のページでの動きに問題がある形です。

     

    可能であれば、対応をお願い致します。

    0
    いいねをした人: 居ません
    #63858
    Kmical Lights
    閲覧者
    234

    私も twentytwentyone テーマだと正しく動作しているのを確認しました。

    管理画面の方では、おそらく removeChild の直接的なエラーではなく、Loading でデータが何らかの不具合で取れていない → Detailの中のオブジェクトを remove しようとしているがそもそもデータが何らかの不具合で…なので、remove が正常にできなくて、それでremoveChildとしたエラー表示が出ているような感じがします。(保証はできませんが…)

    Snow Monkey テーマだと、
    追加の不具合で、「ビューア(フロントの投稿)画面で、CSSやら色々当たらずに真っ白になる」
    のもあるようです。
    このビューアが表示されない問題は、投稿タイプ周りのテンプレートコール等の問題かも。
    テンプレートの読み込み方法を変更したりして、ビューアが表示されるかとかも少し試してみます。(追って報告しま)

    0
    いいねをした人: 居ません
    #63862
    Kmical Lights
    閲覧者
    234

    とりあえず、ビューアの表示の問題は プラグイン内の add_filter('single_template', '\iberezansky\fb3d\custom_template'); と言ったこの処理が問題なので、こいつを post-type を見て remove_filter して…発行されている shortcode をハンドラーで処理されているのをそのまま同じように処理すれば 一応の表示を可能にできるかとました。(追記修正

    
    // ビューア画面を崩さず表示する(管理画面はまだ未対応)
    add_filter( 'single_template', 'fb3d_viewer_fix_template', 1 );
    function fb3d_viewer_fix_template( $single ) {
    	global $post;
        if ( '3d-flip-book' === $post->post_type ) {
    		remove_filter( 'single_template', '\iberezansky\fb3d\custom_template' );
    		add_filter( 'the_content',
    		function() {
    			echo(
    				\iberezansky\fb3d\shortcode_handler(
    					[
    						'id'=> get_the_ID(),
    						'classes'=> 'fb3d-default-page'
    					 ]
    				)
    			);
    		}
    		, 1 );
    
    		
    
    	}
    	return $single;
    }

    管理画面の不具合の方も、プラグイン内の呼び込み処理云々が原因のようなので、調査しますが
    少々難しい問題もあるのでお急ぎでしたら別テーマで管理画面でPDFをアップロードなどしていただき、 My Snow Monkeyに上記のコードを書いて対応していただければと思います。
    (一応、ビューア表示がされるようになるはずです)

    調査中ですが…管理画面の設定も綺麗に動作するように対応するには Snow Monkey にも手を加えるしかないかもです…(北島さん、よろしくw

    1
    いいねをした人: 居ません
    #63868
    Kmical Lights
    閲覧者
    234

    Snow Monkey テーマの app/setup/assets.php

    foreach ( [ 'wp_enqueue_scripts', 'admin_enqueue_scripts' ] as $action_hook ) {
    	add_action(
    

    の読み込みを外せば動作するんですが、これをどうやってプラグインなりで外せばいいんだろう…

    これでどうだ!!

    add_action( 'load-post.php', 'fb3d_viewer_fix_post' );
    add_action( 'load-post-new.php', 'fb3d_viewer_fix_post' );
    
    function fb3d_viewer_fix_post() {
    	global $current_screen;
    	if( is_admin() && '3d-flip-book' === $current_screen->post_type ) {
    		add_action( 'wp_print_scripts', function() {
    			wp_dequeue_script( 'fontawesome5' );
    			wp_dequeue_script( \Framework\Helper::get_main_script_handle() . '-fontawesome' );
    		} );
    	}
    }
    0
    いいねをした人: 居ません
    #63871
    Kmical Lights
    閲覧者
    234

    こちらの環境では動作したので、解決方法をまとめときます。

    my snow monkey で、下記のコードを加えてください。

    // 公開したカスタム投稿のビューア画面を崩さず表示させる
    // ショートコードで埋め込むと正しく表示されますが、デフォルトだとサイトの /3d-flip-book/パーマリンク が正しく表示されないのでfixする
    
    add_filter( 'single_template', 'fb3d_viewer_fix_template', 1 );
    function fb3d_viewer_fix_template( $single ) {
    	global $post;
        if ( '3d-flip-book' === $post->post_type ) {
    		remove_filter( 'single_template', '\iberezansky\fb3d\custom_template' );
    		add_filter( 'the_content',
    		function() {
    			echo(
    				\iberezansky\fb3d\shortcode_handler(
    					[
    						'id'=> get_the_ID(),
    						'classes'=> 'fb3d-default-page'
    					 ]
    				)
    			);
    		}
    		, 1 );
    
    		
    
    	}
    	return $single;
    }
    
    // 管理画面の投稿のDetailメタボックスを正常に動作させる
    
    add_action( 'load-post.php', 'fb3d_viewer_fix_post' );
    add_action( 'load-post-new.php', 'fb3d_viewer_fix_post' );
    
    function fb3d_viewer_fix_post() {
    	global $current_screen;
    	if( is_admin() && '3d-flip-book' === $current_screen->post_type ) {
    		add_action( 'wp_print_scripts', function() {
    			wp_dequeue_script( 'fontawesome5' );
    			wp_dequeue_script( \Framework\Helper::get_main_script_handle() . '-fontawesome' );
    		} );
    	}
    }

    なお、35ドルするのでPro版は買ってません。Light版で確認してます。
    Pro版で動くかは解りません…(汗

    2
    いいねをした人: 居ません
    #64132
    田中 昌平
    参加者
    0

    ありがとうございます。

    こちらで対応できました。

    他のカスタム投稿で発生するのであればコアの方でも実装できれば。

    よろしく北島さん!

    0
    いいねをした人: 居ません
    #64134
    Kmical Lights
    閲覧者
    234

    他のカスタム投稿で発生するのであればコアの方でも実装できれば。

    北島さんではないですが、少し回答します。

    何で今回このような問題が起こっているかというと…
    3D FlipBook のプラグインは、プラグイン内に仕込まれている React と React dom などの javascript ライブラリを強制的に呼び出してるんです。
    それで、Snow Monkey で読み出してる Font Awesome の javascript で使われている処理を、このプラグインの強制的に呼んでいる React dom とかの処理が競合動作をして正しく動作しないような状態にさせてたんですね。
    なかなか癖の悪いプラグインなので…このような問題に対してテーマでオールマイティに対応するよは個々で条件を付けてカスタマイズした方が良いと思います。

    他のカスタム投稿タイプに対応させる場合は
    ‘3d-flip-book’ の所をカスタム投稿タイプに合わせて条件を変更していただく形で対応するのが良いと考えられます。
    そもそも、プラグイン側で PDFビューアの投稿タイプを 3d-flip-book 以外にすると正常に動作しないコード構造で実装されてますので…3D FlipBook のプラグインを独自カスタマイズされない限りは大丈夫という気がします。

    1
    いいねをした人: 居ません
    #64136
    キタジマ タカシ
    参加者
    2254

    WooCommerce、Event Organiser、The Event Calendar など、カスタム投稿タイプが使われていて、かつプラグイン内のページテンプレートを呼びだすようにしていたり、あるいは独自にクエリを書き換えたりしているものとは Snow Monkey は相性がわるいんです…。そして、どれも個別に対応しないと対処できないところがやっかいなところでして…。

    1
    いいねをした人: 居ません
    #64165
    田中 昌平
    参加者
    0

    Kmical Lightsさん、キタジマさん

    なるほどです。ありがとうございます。

    個別対応するようにします。

    0
    いいねをした人: 居ません
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • トピック「3D FlipBook のプラグインが使えないので、使えるようにしてほしい。」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。