如何在菜单导航中添加变量PHP

时间:2013-01-18 作者:Pomme Prod

我想在菜单中添加一个变量,用于在我的所有页面中传递值。目的是检索一个值,以便将其传输到另一个网站(从我的网站链接)进行跟踪,该值取决于用户的来源。

我的菜单示例:

- Home = mylink/?partenaire=<?php
echo $myPartenaire;
?>

- About us = mylink/aboutus.php?partenaire=<?php
echo $myPartenaire;
?>

- Contact = mylink/contact.php?partenaire=<?php
echo $myPartenaire;
?>
我可以在页面中检索值,但不能在菜单中检索

我安装了这个插件,将PHP放入我的页面http://wordpress.org/extend/plugins/insert-php/

在功能中。“之前的php”?>“在页面底部,我添加了:

$myPartenaire =  $_GET[\'partenaire\'];
在页眉中。phpAt开头,我补充道:

<?php global $myPartenaire ;  ?>
在我的页面中,我可以检索值,我添加了:

[insert_php] global $myPartenaire ;  [/insert_php]

<a href="http://mylink.com/mypage.php?partenaire=[insert_php]
echo $myPartenaire;
[/insert_php]">LINK OF MY PAGE</a>

eg : mylink/contact?partenaire=<?php
echo $myPartenaire;
?>
我知道如何在我的页面中获取“partenaire”的值,但我不知道如何添加值

partenaire=<?php
echo $myPartenaire;
?>
在我的导航菜单的所有链接中。

2 个回复
SO网友:fuxia

您永远不应该需要插件来在某处插入原始PHP代码。总有一些副作用你看不到或很难修复。

滤器wp_nav_menu_objects 而是将参数添加到URL中。

if ( ! empty ( $_GET[\'partenaire\'] ) )
    add_filter( \'wp_nav_menu_objects\', \'wpse_82194_add_param\' );

/**
 * Add a parameter to item URLs.
 *
 * @wp-hook wp_nav_menu_objects
 * @param   array $items
 * @return  array
 */
function wpse_82194_add_param( $items )
{
    $out = array ();

    foreach ( $items as $item )
    {
        $item->url = add_query_arg( \'partenaire\', $_GET[\'partenaire\'], $item->url );
        $out[] = $item;
    }

    return $items;
}

SO网友:helgatheviking

请参见有关创建自定义菜单漫游器的回答https://wordpress.stackexchange.com/a/14039/6477

然后,您应该能够修改href链接,而不是根据答案添加“说明”。

结束

相关推荐

如何删除url中的index.php?

我已经在一个子目录中安装了wordpress(blog). 在根目录中,我安装了Magento。现在,文件目录如下所示:app downloader includes media .... blog/wp-admin 我的服务器是nginx. 当我在wordpress的永久链接设置中将URL设置为:http://www.example.com/blog/index.php/sample-post/ …所有帖子都可用。现在我要删除index.ph