如何在短码中调用javascript函数(JQuery)?

时间:2015-08-03 作者:Sylvain Trx

在这里提问之前,我已经搜索了一段时间,找到了一个关于使用快捷码和javascript调用创建wordpress插件的教程。

但我无法让它在我这边起作用。本教程为here

基本上,它应该添加一个显示预定义字符串的电传终端。我能够跟踪到绘制终端的部分。但我看不到代码中的什么地方,我们调用javascript函数来制作“动画”。有一个zip可以下载所有源代码,可以找到teletype javasources(未最小化)here

所以,我的问题是,我不知道如何从php文件调用javascript/jquery函数。

有没有人可以尝试一下本教程,并就如何完成缺失的部分向我提供建议?

我认为我迷失的部分是最后一个:使数据可用于JavaScript

我当然联系过作者,但我仍然没有答案,能够完成这项工作非常令人沮丧。

我想php部分一定有一些东西:

<input <?php echo implode( \' \', $atts ); ?> />
<?php if ( array_key_exists( \'description\', $options ) ) : ?>
<?php esc_html_e( $options[\'description\'] ); ?>
<?php endif; ?>
但我找不到什么。。。

谢谢

西尔万

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

使用wp_enqueue_script() 具有$in_footer 参数设置为true, 加载带有短代码的脚本时。要将数据从代码的PHP部分传递到JS部分,请使用wp_localize_script().

wp_enqueue_script( \'script_name\', \'/script-location/script.js\', array(), \'1.0.0\', true );  
$data_array = array(
  \'key_1\' => \'val_1\',
  \'key_2\' => \'val_2\'
);
wp_localize_script( \'script_name\', \'data_object_name\', $data_array );
现在,您可以通过寻址数据对象来访问脚本中的数据,例如:

console.log( data_object_name.key_1 );

结束

相关推荐

如何使用php代码编辑特定的POST Slug?

我想要一个php代码,通过它我可以显示一个修改后的链接到帖子。使用时<?php get_post_permalink(); ?> 它显示例如:(www.mysite.com/post name one)。我需要的是类似的东西(www.mysite.com/abstract/post-name-one)。因为将这个词添加到链接将激活一个功能来更改帖子模板。我尝试使用:<a href=\"<?php the_permalink(); ?>\" title=\"<?