Wordpress:如何在wp_nav_menu链接上添加引用变量

时间:2013-04-20 13:17:02

标签: wordpress menu

我需要帮助!

wp_nav_menu()创建一个html输出

<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=1">home</a></li>
<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=2">news</a></li>
<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=3">reviews</a></li>

我将如何向链接添加引荐变量?像这样:

<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=1&ref=abc">home</a></li>
<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=2&ref=mno">news</a></li>
<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=3&ref=xyz">reviews</a></li>

任何帮助将不胜感激。

更新:    我必须得到这样的文字名称(家庭,新闻和评论):

<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=1&ref=home">home</a></li>
<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=2&ref=news">news</a></li>
<li id="xxx" class="xxx"><a  href="http://localhost/?page_id=3&ref=reviews">reviews</a></li>

它将用作类别名称。

2 个答案:

答案 0 :(得分:1)

您可以在functions.php

中过滤导航菜单输出
function add_ref_value( $items, $menu, $args ) {
    foreach ( $items as $item ) {
        // check some value in the $item object and generate ref value
    }
    return $items;
}

add_filter( 'wp_get_nav_menu_items', 'add_ref_value', null, 3 );

更新:实际上,我认为您最好使用此方法:http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output

这样可以更轻松地生成和附加ref属性。

以下是一些可以帮助您的链接:

答案 1 :(得分:1)

修正了它!我在第86行编辑了nav-menu-template.php。

$attributes .= ! empty( $item->url )? ' href="'. esc_attr( $item->url) .'&ref=' .$item->title. '"' : '';

我添加了&amp; ref ='。$ item-&gt;标题。 '

这可能对其他人有帮助,特别是如果他们想从网址获取变量。

我想学习助行课......再次感谢@joe