在实际代码中,从未执行添加脚本的函数。您可以将函数add_my_script()
无论你想去哪里,但你需要把它挂接到Wordpress事件中。这种情况下最好的活动是wp_enqueue_scripts:
add_action(\'wp_enqueue_scripts\', \'add_my_script\');
function add_my_script() {
wp_enqueue_script(
\'hide-menu\', // name your script so that you can attach other scripts and de-register, etc.
get_template_directory_uri() . \'/js/hide-menu.js\', // this is the location of your script file
array(\'jquery\') // this array lists the scripts upon which your script depends
);
}
您的javascript代码也错误。根据
jQuery selectors, 您正在尝试选择所有
<a>
包含子字符串的具有href属性的元素
/it/noleggio-lungo-termine
, 但当语言不是意大利语时,HTML中就不存在这样的元素。下面的代码只是用来隐藏
li
具有的元素
id=menu-item-9452
:
jQuery("li#menu-item-9452").hide();
阅读
jQuery selectors documentation 并使用有效的选择器。
要为某些语言隐藏该元素,您必须访问当前语言。我看到您正在使用qTranslate。可能的解决方案:
add_action(\'wp_enqueue_scripts\', \'add_my_script\');
function add_my_script() {
wp_enqueue_script(
\'hide-menu\', // name your script so that you can attach other scripts and de-register, etc.
get_template_directory_uri() . \'/js/hide-menu.js\', // this is the location of your script file
array(\'jquery\') // this array lists the scripts upon which your script depends
);
$scriptData = array(
\'lang\' => qtrans_getLanguage(),
);
wp_localize_script(\'hide-menu\',\'script_data\', $scriptData);
}
然后在隐藏菜单中。js公司:
if( script_data.lang != \'it\' ) {
jQuery("li#menu-item-9452").hide();
}
您还可以通过CSS隐藏该项。例如,在标题中。你可以把这段代码放在
<head>
和
</head>
:
<?php
if( qtrans_getLanguage() != \'it\' ) {
echo "<style>#menu-item-9452 { display: none; } </style>";
}
?>