将ID添加到目标导航链接

时间:2013-05-02 作者:Josh Rodgers

我正在WordPress网站上的导航栏中使用以下代码:

<?php wp_list_pages("title_li="); ?>
当前会弹出一些链接,如下所示:

<a href="http://yoururl.com/?page_id=123">News</a>
我想做的是能够向链接添加id,使其看起来像:

<a href="http://yoururl.com/?page_id=123" id="news">News</a>
有人知道怎么做吗?只要这一页或每一页都有一个id就可以了。。。无论什么是最简单的,我只需要一个ID,以便我可以针对一个特定的链接。

谢谢,乔希

2 个回复
SO网友:Josh Rodgers

我找不到可以添加id的东西,但我确实找到了可以给我一个类的东西。。。这样,我就可以使用jQuery将类作为目标。默认id和类是可以的,但我找到的解决方案要好得多,因为无论您将其应用到哪个网站,我都不必返回并更改链接类或id。我能够找到一个函数,该函数可以添加具有页面名称的类。。。因此,只要我确保页面名称保持不变,我就是金色的:-)

添加到functions.php:

function menu_css_class($css_class, $page){
    $css_class[] = "nav_" . $page->post_name;
    return $css_class;
}
add_filter("page_css_class", "menu_css_class", 10, 2);
设定它,忘记它,我爱它!

谢谢,乔希

SO网友:Santoro

如果您的链接位于一个具有给定ID“menu”的div中,那么您可以使用jQuery来完成此操作,因此您可以编写:

<script type="text/javascript">
var links = jQuery(\'#menu\').find(\'a\');

jQuery(links).each(function(){
jQuery(this).addClass(\'news\'); // It will add a class for all links, not an id
jQuery(this).attr(\'id\', \'news\'); // This will add an id, but for all links
}); // choose what do you want, and delete other, if you will not use
</script>
这只是一个变通方法,也是一个丑陋的方法,因为我不知道一个WP函数来检索所有页面链接,也没有人帮你这么做,但我认为你也可以用谷歌搜索它。。。

祝你好运

结束

相关推荐

Thesis -style Navigation

我正在研究一个主题,我希望用户能够像论文一样选择要在主题选项页面中显示的页面。我已经在谷歌上搜索了几个小时的逆向工程论文,但还没有找到一个很好的解决方案。我想知道是否有人做过这件事或看过教程。