WordPress是否将javascript添加到菜单链接项?

时间:2016-05-17 作者:user3114253

我想添加javascript:void(0); 到菜单链接项,而不是# 但它不接受任何JavaScript。现在我是替代品# 具有javascript:void(0); 正在使用筛选器,但找不到任务的适当筛选器。

谁能告诉我哪个过滤器可以用于此任务。

笔记我知道这可以用javascript/jQuery来完成,但这是为了SEO,所以必须在服务器端用PHP来完成,并为google Spider呈现正确的html,以避免重复的URL问题。

2 个回复
最合适的回答,由SO网友:Sumit 整理而成

我不确定这对搜索引擎优化有何影响,但我只想回答这个问题:-

无法使用保存菜单项javascript:void(0); 因为WordPress使用函数过滤URLesc_url() 从而删除错误值。这一切都发生在海军沃克级。因此,当WordPress完成过滤并返回最终的安全HTML时,您需要更改URL。

您可以使用过滤器walker_nav_menu_start_el 如果您的主题没有自定义导航菜单walker类,或者walker类中有此过滤器。

示例:-

add_filter(\'walker_nav_menu_start_el\', \'wpse_226884_replace_hash\', 999);
/**
 * Replace # with js
 * @param string $menu_item item HTML
 * @return string item HTML
 */
function wpse_226884_replace_hash($menu_item) {
    if (strpos($menu_item, \'href="#"\') !== false) {
        $menu_item = str_replace(\'href="#"\', \'href="javascript:void(0);"\', $menu_item);
    }
    return $menu_item;
}

SO网友:Deepti chipdey

Simple Method

您需要做的第一件事是在菜单中添加一个新的菜单项。您可以通过进入外观»菜单来实现这一点。你想添加一个自定义链接,所以给它你想要的标签。在URL字段中,输入#符号。完成后,单击添加到菜单按钮。将此自定义链接添加到菜单后,请保存菜单。将自定义链接添加到不带URL的菜单

现在单击此自定义链接旁边的下拉箭头以编辑此菜单项。继续从URL字段中删除井号并保存菜单。如果您访问live网站,则会看到一个没有链接的菜单项。您可以将子菜单添加到此菜单项,并将其链接到所需的任何页面或自定义链接。删除#签名并创建没有任何链接的菜单。

查看此链接了解更多详细信息。

http://www.wpbeginner.com/beginners-guide/how-to-add-titles-in-wordpress-menu-without-linking-to-a-page/

相关推荐

Sucuri SiteCheck在使用iThemes Security Pro插件的域上失败

我在我的几个网站上安装了iThemes Security Pro插件。最近,我注意到我的Sucuri SiteCheck(自动和非自动)扫描都失败了,但我不知道为什么会这样。日志也不明确,告诉我:Unable to properly scan your site. Timeout reached.下面是插件给我的原始日志。如果有人能告诉我问题出在哪里,我将不胜感激。我没有在插件或Apache级别启用防火墙,尽管我启用了ModSecurity。但是,每当我尝试SiteCheck时,ModSecurity的日