我认为主要的问题是,在调用tab slideout时,需要使用无冲突包装。然而,与其简单地指出问题,我将介绍一些你应该做的事情,以使这个脚本“以WordPress的方式”工作。。(即,使用排队并钩住适当的钩子使其排队)。
首先,我们需要一个适当的行动,有几个我们可以使用正面。
我要用的钩子是wp_print_scripts
, 因为你可能已经猜到了,它是用于排队脚本的。
add_action( \'wp_print_scripts\', \'enqueue_slideout\' );
function enqueue_slideout() {
wp_enqueue_script( \'jquery-slideout\', \'http://tab-slide-out.googlecode.com/svn/trunk/jquery.tabSlideOut.v2.0.js\', array(\'jquery\'), \'2.0\', false );
}
我找到了最新版本的位置,1.3比最新的2.0早了一年,所以我更新了路径以指向更新的版本。
jQuery在排队中作为依赖项加载,因此您不需要为jQuery执行任何额外的包含操作,排队将为您处理这一问题(无论您的jQuery脚本是否已重新注册以从Google中提取-正如许多WP用户所选择的那样)。
接下来,我们将wp_head
并使用无冲突包装器输出脚本以设置滑出选项卡,该包装器在文档准备就绪时启动(大多数脚本都可以像这样工作,但不是全部)。。
add_action( \'wp_head\', \'setup_slideout_tabs\' );
function setup_slideout_tabs() {
?>
<script type="text/javascript">
jQuery(document).ready(function($){
$(\'.slide-out-div\').tabSlideOut({
tabHandle: \'.handle\',
pathToTabImage: \'<?php bloginfo(\'stylesheet_directory\'); ?>/images/contact_tab.gif\',
imageHeight: \'122px\',
imageWidth: \'40px\',
tabLocation: \'left\',
speed: 300,
action: \'click\',
topPos: \'200px\',
leftPos: \'20px\',
fixedPosition: false
});
});
</script>
<?php
}
您应该注意到,我在一个小PHP中添加了一个指向当前主题文件夹的图像路径,因此请确保您有一个名为
contact_tab.gif
在主题的图像文件夹中,即。
wp-content/themes/YOUR_THEME/images/contact_tab.gif
或适当更新图像路径。
将之前发布的CSS添加到主题的样式表中,实际上没有必要将其内联输出,而且样式表无论如何都会被加载,因此将其粘贴在其中是有意义的。
最后,你应该有这样的东西。。
希望这有助于。。。