在我的主题的每个页面上,用户可以选择添加滑块.当他们这样做时,他们可以为滑块选择几个设置.这包括幻灯片在更改前暂停多长时间,幻灯片在更改时转换所需的时间以及幻灯片使用的转换类型等内容.
现在,如果我只是硬编码并且不让用户选择滑块的选项,代码将如下所示:
jQuery(function(){
jQuery('#camera_wrap_3').camera({
height: '40%',
thumbnails: true,
time: 3500,
fx: 'scrollBottom',
transPeriod: 1200,
autoAdvance: true,
minHeight: '50px',
mobileNavHover: false,
});
});
传递用户在上面的代码中选择设置时创建的变量的正确方法是什么?
请记住,我希望能够使用wp_enqueue以正确的方式将此文件排入队列
解决方法:
我假设这与你关于将变量传递给wp_head的问题有关 – 如果你想从插件存储参数,Wordpress提供两个(如果你使用多站点,则为三个)方法,具体取决于你的参数范围.
如果它特定于页面/帖子,那么您应该使用Custom Fields API将参数存储在postmeta表中.您将使用update_post_meta($post_id,$key,$data)并使用get_post_meta($post_id,$key,$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 "
echo "var cameraTime = {$camera_time};";
// ... the rest of your javascript
echo "";
}
if (is_single()) // only include on single pages
add_action( 'wp_head', 'my_wp_head' );
标签:jquery,wordpress,php,javascript,variables
来源: https://codeday.me/bug/20190629/1330705.html