it-swarm.com.de

Wie kann ich eine Variable hinzufügen? PHP im Menü Nav

Ich möchte dem Menü eine Variable hinzufügen, um auf allen Seiten einen Wert zu übergeben. Der Zweck ist, einen Wert für den Transport zu einer anderen Website (von meiner Website-Links) zum Tracking abzurufen. Dieser Wert hängt von der Herkunft des Benutzers ab.

zB von meiner Speisekarte:

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

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

- Contact = mylink/contact.php?partenaire=<?php
echo $myPartenaire;
?>

Ich kann den Wert auf meiner Seite abrufen, aber nicht im Menü

  1. Ich habe dieses Plugin installiert, um PHP in meine Seite einzufügen http://wordpress.org/extend/plugins/insert-php/

  2. In function.php vor "?>" am Ende der Seite habe ich hinzugefügt:

    $myPartenaire =  $_GET['partenaire'];
    
  3. In header.php Am Anfang habe ich hinzugefügt:

    <?php global $myPartenaire ;  ?>
    
  4. Auf meiner Seite kann ich den Wert abrufen, den ich hinzugefügt habe:

    [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;
    ?>
    

Ich weiß, wie ich den Wert von "partenaire" auf meiner Seite ermitteln kann, aber ich weiß nicht, wie ich den Wert addieren kann

partenaire=<?php
echo $myPartenaire;
?>

in allen links in meinem nav menü.

1
Pomme Prod

Sie sollten niemals ein Plugin benötigen, um rohen PHP Code irgendwo einzufügen. Es gibt immer Nebenwirkungen, die Sie nicht leicht erkennen oder beheben können.

Filtern Sie stattdessen wp_nav_menu_objects und fügen Sie den Parameter hier zu den URLs hinzu.

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;
}
1
fuxia

Diese Antwort finden Sie beim Erstellen eines benutzerdefinierten Menüs. Walker https://wordpress.stackexchange.com/a/14039/6477

Anstatt eine "Beschreibung" gemäß der Antwort hinzuzufügen, sollten Sie in der Lage sein, den href-Link zu ändern.

0
helgatheviking