我正在尝试开发一个youtube嵌入器插件。我这样做是因为大多数嵌入式插件不允许为视频选择自己的缩略图。
我遇到了jquery代码的问题,我似乎无法定义缩略图的jpeg文件的服务器路径(为了说明,我将jpg文件保存在与插件文件相同的文件中)。
我做错了什么?
基本上我要做的是使用wp_localize_script将插件的路径作为变量(称为php_vars)传递给youtube-embed.js。在那里,变量应该用于定义缩略图的img标签的scr属性。 src属性将连接php_vars + youtube视频IS(v [n] .dataset.id)+' .jpg"。
这里是PHP代码
public class Test {
public Test() {
}
public void foo {
if(BasicAuthenticatedSession.get().isSignedIn()) {
Sysuser sysUser = BasicAuthenticatedSession.get().getSysuser();
System.out.println(sysuser.getFirstname);
}
}
}
这里的JAVA脚本文件叫做youtube-embed.ss
function register_youtube_embed_plugin_scripts()
{
wp_register_script("youtube-embed-js", plugins_dir_url(__FILE__).'youtube-embed.js', array('jquery'), '', true); // Registers youtube script. I registered the script in the footer for now.
wp_enqueue_script("youtube-embed-js");
$dataToBePassed = array(
'home' => plugins_dir_url(__FILE__) .""
);
wp_localize_script( 'youtube-embed-js', 'php_vars', $datatoBePassed);
}
add_action("wp_enqueue_scripts", "register_youtube_embed_plugin_scripts");
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
如果你需要定义一个对你的服务器路由或php脚本是动态的全局js变量,我发现这个方法是最安全的。
add_action('wp_head','pluginname_url');
function pluginname_url() {
?>
<script type="text/javascript">
var home = '<?php echo plugins_dir_url(__FILE__); ?>';
</script>
<?php
}
将此添加到主题或插件中某处的functions.php文件中。 您现在可以访问名为“home”的变量,该变量将指向您的插件路由URL。