php – 将选项传递给jquery文件的正确方法是什么?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 将选项传递给jquery文件的正确方法是什么?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的主题的每个页面上,用户可以选择添加滑块.当他们这样做时,他们可以为滑块选择几个设置.这包括幻灯片在更改前暂停多长时间,幻灯片在更改时转换所需的时间以及幻灯片使用的转换类型等内容.

现在,如果我只是硬编码并且不让用户选择滑块的选项,代码将如下所示:

<script>
jquery(function(){

    jQuery('#camera_wrap_3').camera({
        height: '40%',thumbnails: true,time: 3500,fx: 'scrollBottom',transPEriod: 1200,autoAdvance: true,minHeight: '50px',mobileNavHover: false,});
});
</script>

传递用户在上面的代码中选择设置时创建的变量的正确方法是什么

请记住,我希望能够使用wp_enqueue以正确的方式将此文件排入队列

解决方法@H_404_21@
我假设这与你关于将变量传递给wp_head的问题有关 – 如果你想从插件存储参数,wordpress提供两个(如果你使用多站点,则为三个)方法,具体取决于你的参数范围.

如果它特定于页面/帖子,那么您应该使用Custom Fields API将参数存储在PostMeta表中.您将使用update_post_Meta($post_id,$key,$data)并使用get_post_meta($post_id,$single)获取它,其中$single为true / false,具体取决于您是想要一个值数组还是只需一个值 – 如果它类似于“度”,你可能会将其设置为true.更多信息在这里http://codex.wordpress.org/Custom_Fields.

如果它适用于整个站点,那么您可以使用update_option($key,$data)将它存储在options表中的Options API中,并使用get_option($key,$default)检索它,其中如果返回$default,则返回$default无法找到$key,否则会返回false.最后一个仅适用于多站点的选项也是Options API的一部分,它使用update_sITe_option($key,$data)和get_site_option($key,$default).更多信息在这里http://codex.wordpress.org/Options_API.

管理自定义字段(以及通过高级功能的选项)的一个很好的选择是Advanced Custom Fields.

假设这是每个帖子/页面,并且您使用ACF设置值,则可以编写一个钩子到wp_head以将这些字段拉入您的Javascript.您可以将其放入主题中的functions.PHP文件中,或者如果您希望它更改主题,则可以使用Custom Functions Plugin.

// hooked to wp_head
function my_wp_head(){
    // get the current $post
    global $post;
    // get value or key "camera_time"
    $camera_time = get_post_meta($post->ID,"camera_time",true);

    // write result to javascript
    echo "<script>";
    echo "VAR cameraTime = {$camera_time};";
    // ... the rest of your javascript
    echo "</script>";
}
if (is_single()) // only include on single pages
    add_action( 'wp_head','my_wp_head' );

脚本宝典总结

以上是脚本宝典为你收集整理的php – 将选项传递给jquery文件的正确方法是什么?全部内容,希望文章能够帮你解决php – 将选项传递给jquery文件的正确方法是什么?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。