Add get_option to jquery

时间:2015-04-16 作者:rikardo85

我创建了一个设置页面,其中包含自定义插件的各种单选按钮选项。

我创建的一个单选按钮是用值yes或no“显示点”。除了下面的jQuery函数外,我可以在任何其他时间使用该值。

我想获得下面jQuery函数中用于“dots”的选项的值。

jQuery脚本

<script type="text/javascript">
jQuery(document).ready(function(){
  jQuery(\'.single-item\').slick({
    arrows: true,
    dots: ***OPTION VALUE HERE (true or false)***
  });
});

要显示我使用的单选按钮,请执行以下操作:

 <input type="radio" name="testimonial_bullet" id="mws_testimonial_bullet_yes" value="" checked="checked">Yes
 <input type="radio" name="testimonial_bullet" id="mws_testimonial_bullet_no" value="no" <?php if (checked( get_option(\'testimonial_bullet\'), \'no\' )); ?> />No
要获取get\\u选项值,我使用:

if (get_option(\'testimonial_bullet\') == \'no\') {
 // code here
}
非常感谢您的帮助

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

总之,Hody\\u McGee基本上在他的评论中给出了答案:你可以使用wp_localize_script().正如法典中所述:

[wp_localize_script()] 可以用于使脚本中的任何数据可用,这些数据通常只能从WordPress的服务器端获取。

我们如何做到这一点

<?php
add_action( \'wp_enqueue_scripts\', \'register_scripts\' );
function register_scripts(){
    wp_enqueue_script( \'some_handle\', \'path-to-file\', array( \'jquery\' ) );
    $phpInfo = array(
        \'testimonial_bullet\' => get_option( \'testimonial_bullet\' )
    );
    wp_localize_script( \'some_handle\', \'phpInfo\', $phpInfo );
}
?>
您扩展了您的函数,在这里您将脚本排队(您将其排队,对吗?)。完成此操作(或注册)后,可以使用wp_localize_script() 将对象传递到此脚本。在本例中,我们创建一个数组$phpInfo, 其中包含选项的信息。

在脚本中,现在可以检索传递的内容:

jQuery(document).ready(function(){
  if( phpInfo.testimonial_bullet == \'no\' )
    var d = \'---\';
  else
    var d = \'...\';

  jQuery(\'.single-item\').slick({
    arrows: true,
    dots: d
  });
});
好吧,但我不排队,我加上这个,因为我看到<script>-标记,因此这些信息可能很有趣。首先,你应该。这是一个简单而好的做法。调查一下wp_enqueue_script(). 如果您仍然认为,最好将其写在标题中。php或foorter。当然,这样做可能是有原因的。在这种情况下,您只需检索如下信息:

<script>
    jQuery(document).ready(function(){
      if( \'<?php echo get_option( \'testimonial_bullet\' ); ?>\' == \'no\' )
        var d = \'---\';
      else
        var d = \'...\';

      jQuery(\'.single-item\').slick({
        arrows: true,
        dots: d
      });
    });
</script>

结束

相关推荐

Single必须使用Plugins目录进行本地开发

我有多个本地安装的WordPress,并希望有一个单一的必须使用插件目录为我的所有本地网站。有什么我可以添加到wp配置,例如,让我有一个文件夹,可以用于我的所有网站?或者另一种方法?例如:/根/站点/站点1//根/站点/站点2//根/站点/站点3/。。。所有用途:/根/mu插件/谢谢