执行js文件似乎不起作用

时间:2013-02-12 作者:user1396585

我开发了一个使用“Royal Slider”的网站。post从数据库中毫无问题地加载自定义字段,并循环浏览图像,创建一个可爱的幻灯片,如所示

http://www.ccmediaservices.co.uk/property/2-bedroom-apartment-to-rent/

问题是我想通过一些自定义设置来自定义滑块。通常情况下,这是通过标记之前html底部的js块实现的。这是设置js初始化代码

<script>
jQuery(document).ready(function($) {
$(\'.royalSlider\').royalSlider({
fullscreen: {
  enabled: true,
  nativeFS: true
},
controlNavigation: \'thumbnails\',
autoScaleSlider: true, 
autoScaleSliderWidth: 960,     
autoScaleSliderHeight: 850,
loop: false,
imageScaleMode: \'fit-if-smaller\',
navigateByClick: true,
numImagesToPreload:3,
arrowsNavAutoHide: true,
arrowsNavHideOnTouch: true,
keyboardNavEnabled: true,
fadeinLoadedSlide: true,
globalCaption: true,
globalCaptionInside: false,
thumbs: {
  appendSpan: true,
  firstMargin: true,
  paddingBottom: 4

}
});
});
</script>
在wordpress中,这是不可能的,因为我很清楚,所以我执行了在函数文件中放置两个动作挂钩的标准过程。一个用于注册脚本,另一个用于从页脚打印脚本。这是我的密码

/* Royal Slider Hooks */

add_action (\'init\', \'register_my_royal_slider_script\');

add_action (\'wp-footer\', \'print_my_royal_slider_script\');

/* Royal Slider Functions */

function register_my_royal_slider_script() {
wp_register_script(\'my-script\', get_template_directory_uri() . \'/royalslider/custom-slider-settings.js\', array(\'jquery\'), \'1.0\', true);
}


function print_my_royal_slider_script() {
global $add_my_script;

if ( ! $add_my_script )
    return;

wp_print_scripts(\'my-script\');
}
不幸的是,它没有产生任何效果。您看到的上述代码是否有问题?我有点困惑,我没有发现任何错误

1 个回复
SO网友:s_ha_dum

只需钩住wp_enqueue_scripts 用于注册和排队。您已在注册in_footer (代码中的最后一个参数)true 因此,您需要的是:

function print_my_royal_slider_script() {
  global $add_my_script;
  if ( ! $add_my_script ) return;
  wp_enqueue_script(\'my-script\');
}
add_action (\'wp_enqueue_scripts\', \'print_my_royal_slider_script\');
问题是$add_my_script. 必须在wp_head 跑步。如果这是不可能的——例如,如果您正在循环中设置它——我相信您唯一的选择是回显连接到wp_footer 但您可以(几乎)通过使用$wp_scripts 对象来执行此工作。

function print_my_royal_slider_script() {
  global $wp_scripts,$add_my_script;
  if ( ! $add_my_script ) return;
  wp_enqueue_script(\'my-script\');
  $wp_scripts->do_item(\'my-script\');
}
add_action (\'wp_footer\', \'print_my_royal_slider_script\');

结束

相关推荐

从非核心php文件访问BloInfo、Get_Option和plugins_url

我正在创建一个插件,插件目录中有一个php文件,可以通过自定义重写url直接访问该文件。我需要这个文件能够使用标题中提到的三个功能。目前,我正在包括wp负载。php文件,它使我能够访问所有这些函数。然而,我一直在读到不应该包括wp负载,因为它可能不总是在同一个位置,而且它包括可能不需要的wordpress文件。这就是我如何包含wp负载:$wp_base = explode($_SERVER[\'PHP_SELF\'], $_SERVER[\'SCRIPT_FILENAME\']); require