WordPress快捷码插件无法工作

时间:2019-10-12 作者:Shaif Shahin

js错误的快捷码无效。页面链接https://staging.sugrihini.com/test/ 使用

[circleaudio src="/wp-content/uploads/2019/10/piano.mp3"]

定位错误

Uncaught TypeError: $ is not a function
at main.js?ver=0.0.3:1
===================插件代码===========

add_action(\'wp_enqueue_scripts\',\'circleaudioplayer_assets\');
function circleaudioplayer_assets(){
    wp_enqueue_style( \'bar\', plugins_url( \'/progres-bar.css\' , __FILE__ ));
    wp_enqueue_script( \'player\', plugins_url( \'/player.js\' , __FILE__ ),array("jquery"),\'0.0.1\',true);
    wp_enqueue_script( \'main\', plugins_url( \'/main.js\' , __FILE__ ),array("jquery","player"),\'0.0.3\',true);
    }

function circleaudioplayer( $atts ) {
    $a = shortcode_atts( array(
        \'src\' => \'\'
    ), $atts );

    return \'<div class="mediPlayer">
    <audio class="listen" preload="none" data-size="250" src="\' . $a[\'src\'] . \'"></audio></div></div>\';

}

add_shortcode( \'circleaudio\', \'circleaudioplayer\' );

1 个回复
最合适的回答,由SO网友:userone2 整理而成

您可以避免声明播放器是javascript文件的依赖项,问题是无法识别Jquery。更改此行:

wp_enqueue_script( \'main\', plugins_url( \'/main.js\' , __FILE__ ),array("jquery","player"),\'0.0.3\',true);
对此:

wp_enqueue_script( \'main\', plugins_url( \'/main.js\' , __FILE__ ), ["jquery"] );
还要避免将脚本排入页脚。

相关推荐

Gutenberg Shortcode Fail

WP 5.2.2是否可以在古腾堡短代码块之外渲染短代码?我创建了一个短代码,多年来一直在几页上使用它。在那些页面上效果很好。。。我害怕编辑它们,害怕它们被破坏:/我创建了一个新页面,我想在其上使用短代码。但是,未处理短代码。我尝试过通过代码编辑器插入它,并在html块中使用它。无论哪种方式,它都无法渲染。如果我创建一个短代码块并将我的短代码放在其中,它就会工作。然而,由于我使用短代码来填充隐藏的表单字段,我不相信这个选项对我有用。我的测试中没有。示例: <form action=\"https://