WordPress 5.3でエラー発生時の対処方法 Uncaught TypeError: $ is not a function
WordPress 5.3にバージョンアップして、動作しないプラグインやテーマがあるようです。
原因の1つにjQueryの書き方が変わりました。
今までは『$』と書いていればjQueryとして認識してましたが、これが通用しなくなりました。
プラグインやテーマがアップデートして対応すべきですが、既に開発が止まっている物もあると思います。
一時
ログイン後の管理画面内、記事編集等で発生する場合
add_action( 'admin_enqueue_scripts', function(){
wp_add_inline_script( 'jquery', 'var $ = jQuery;' );
},0);
公開中の記事等で発生する場合
add_action( 'wp_enqueue_scripts', function(){
wp_add_inline_script( 'jquery', 'var $ = jQuery;' );
},0);
PHP5.3.0以降をお使いなら上記コードでOKです。
お試しあれ。
なお、私の製作しているテーマやプラグインは対応済みです。
上記対応は不要です。
#48568 ($ not defined on edit screen anymore)– WordPress TracNewsShowcaseHostingExtendThemesPluginsPatternsBlocksOpenverse ↗︎LearnLearn WordPressDocumentationForumsDevelopersWordPress.tv ↗︎CommunityMake WordPressPhoto DirectoryFive for the FutureEventsJob Board ↗︎AboutAbout WordPressEnterpriseGutenberg ↗︎Swag Store ↗︎Get WordPressSearch TracGet WordPressMake WordPress CoreBlogHandbookTicketsComponentsBrowse SourceTrac TimelineCreate a New TicketSearch:LoginNotificationsContext Navigation← Previous TicketNext Ticket →Opened 4 years ago
core.trac.wordpress.org
上記リンク先でこの変更に対する、大まかな流れがわかります。
以上です。