带有 Wordpress 的 Slicknav

Posted

技术标签:

【中文标题】带有 Wordpress 的 Slicknav【英文标题】:Slicknav with Wordpress 【发布时间】:2014-08-31 00:12:03 【问题描述】:

我正在尝试在 Wordpress 上使用 SlickNav 和自定义主题。我觉得我已经尽了一切努力让它发挥作用,却找不到任何有类似问题的人。该网站还没有上线,所以恐怕我没有链接可以分享。

首先,我按照插件网站上的说明安装了 SlickNav(在添加与 Wordpress 相关的代码之前工作得很好),然后我尝试为 Wordpress 修改它。在我的functions.php中,我添加了“菜单”的ul ID:

    

add_action( 'init', 'register_my_menus' );
function register_my_menus() 
register_nav_menus(

array(

'main-menu' => __( 'Main Menu' ),
'menu_id'         => 'menu'

    )
);

在我的 header.php 中添加了以下内容,在 head 标记内但在调用 wp_head 之前和 body 标记之前:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<link rel="stylesheet" href="<?php bloginfo("template_url"); ?>/css/slicknav.css" />
<script type="text/javascript" src="<?php bloginfo("template_url"); ?>/js/jquery.slicknav.min.js"></script>

并在调用 wp_footer 和关闭 body 标记之前将其添加到我的 footer.php 中:

<script type="text/javascript" src="<?php bloginfo("template_url"); ?>/js/jquery.slicknav.js">
$(document).ready(function()
$('#menu').slicknav();
prependTo:'#demo1'
);
</script>

我尝试将 &lt;?php bloginfo("template_url"); ?&gt; 替换为我在 Wordpress 论坛上找到的所有变体;甚至用指向目录的硬链接替换它,但没有任何效果。

然后我删除了所有这些,并将其添加到我的functions.php中:

function slicknav_scripts() 
wp_enqueue_script( 'jquery' );
wp_register_script( 'jqueryui', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js');
wp_enqueue_script( 'jqueryui' );
wp_register_script( 'slicknav', get_template_directory_uri().'/js/jquery.slicknav.min.js');
wp_enqueue_script( 'slicknav' );
wp_register_style('slicknavcss',get_template_directory_uri().'/css/slicknav.css');
wp_enqueue_style('slicknavcss');
  
add_action('wp_enqueue_scripts', 'slicknav_scripts');

并将其添加到我的 header.php;当这不起作用时,我将其删除并将其添加到我的footer.php:

<script type="text/javascript">
jQuery('#myelement').slicknav();
</script>

当这不起作用时,我删除了所有内容,回到第一格,但删除了&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&gt;&lt;/script&gt;,假设这可能是一个 jquery 问题。但这没有用。

在这一点上,我几乎尝试了所有我能想到的东西,我开始怀疑答案是否很简单/就在我的眼皮底下,但我只是盯着它太久了。任何帮助将不胜感激。

【问题讨论】:

你能复制粘贴你当前的输出菜单html吗? 啊!我注意到 ul id 是“menu-main-menu”而不是“menu”,所以我调整了页脚中的 jQuery 脚本以反映这一点,添加了“#menu-main-menu”。这是 HTML:Home 【参考方案1】:

啊哈!我让它工作。我将提供的入队代码添加到 functions.php,使用此链接 (http://codex.wordpress.org/Using_Javascript) 作为指南,将脚本正确添加到我的页眉和页脚;调整 jquery 脚本以匹配 Wordpress 给定的 ul ID,并通过 CSS 进行更改以反映它。

【讨论】:

以上是关于带有 Wordpress 的 Slicknav的主要内容,如果未能解决你的问题,请参考以下文章

带有 SEO 友好网址的 Wordpress 博客 + Laravel

带有大小选择的 WordPress 媒体上传器

带有 localhost 和 8090 端口的 Wordpress 多站点

带有 Wordpress 的 XAMPP 运行速度太慢

添加带有图像的悬停效果(wordpress)

带有 Javascript 的 Wordpress 插件