1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Wie kann man Variablen in der URL übergeben?

Dieses Thema im Forum "Konfiguration" wurde erstellt von Chris123, 2. März 2011.

  1. Chris123

    Chris123 Member

    Registriert seit:
    7. Februar 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo,

    ich habe das Problem, dass ein von mir erstelltes Template einen Wert von einer anderen Seite geliefert kriegen muss. Ich habe z.B. einen Link in der Form: www.example.com/einepage?id=3
    Was jetzt passiert, ist dass Wordpress automatisch auf www.example.com/einepage weiterleitet, das id=3 also wegfällt. Woran liegt das und wie kann ich es beheben?

    Vielen Dank,
    Chris123
     
  2. Marcus.Kober

    Marcus.Kober Well-Known Member

    Registriert seit:
    6. Oktober 2010
    Beiträge:
    54
    Zustimmungen:
    0
    Sieh dir mal die Funktion add_query_arg() an. Sie sollte eigentlich genau das sein, was Du suchst. In der verlinkten Referenz sind auch schöne Beispiele dazu zu sehen...
     
  3. Marcus.Kober

    Marcus.Kober Well-Known Member

    Registriert seit:
    6. Oktober 2010
    Beiträge:
    54
    Zustimmungen:
    0
    Ach, was mir noch aufgefallen ist: bei deinem Linkbeispiel fehlt auch der abschließende Slash. Korrekt müsste es so lauten: www.example.com/einepage/?id=3 und damit sollte es normalerweise auch funktionieren. Sicherer ist es aber, den oben von mir vorgeschlagenen Weg über add_query_arg() zu gehen.
     
  4. Chris123

    Chris123 Member

    Registriert seit:
    7. Februar 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo,

    danke für Deine Antwort. Ich kenne die Funktion add_query_arg(), nur verstehe ich sie nicht. Wird diese Funktion auf der Seite eingebaut, wo der Link platziert ist oder auf der Seite, wo Variable hin übergeben werden soll?
    Die Beispiele finde ich irgendwie verwirrend, weil dort wird die URL ja erst in der "Zieldatei" verändert,z.B: echo add_query_arg( 'foo', 'bar' );. Wie würde denn die Funktion aussehen, wenn man aus der URL die Variable id holen möchte?

    PS: www.example.com/einepage/?id=3 leitet ebenfalls auf www.example.com/einepage weiter
     
  5. Marcus.Kober

    Marcus.Kober Well-Known Member

    Registriert seit:
    6. Oktober 2010
    Beiträge:
    54
    Zustimmungen:
    0
    Gehen wir von folgender Situation aus:

    auf www.example.com/seite-1/ soll ein Link auf www.example/seite-2/ dargestellt werden, der den Paramater id=3 überträgt. Dabei hat /seite-2/ beispielsweise innerhalb von WordPress die ID 2.

    Auf www.example.com/seite-1/ fügst Du folgenden Link ein:

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Mit get_permalink( 2 ) bekommst Du den Permalink der Seite mit der ID 2 (in diesem Falle also www.example.com/seite-2/.

    Auf /seite-2/ kannst Du dann in PHP wie gewohnt mit $_GET['id'] zugreifen - hier brauchst Du also add_query_arg() natürlich nicht.
     
  6. Chris123

    Chris123 Member

    Registriert seit:
    7. Februar 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Danke für die ausführliche Beschreibung, der Link lautet mit add_query_arg jetzt www.example/seite-2?id=3, doch sobald ich auf die Seite geleitet wurde, werde ich dennoch wieder auf www.example/seite-2 weitergeleitet.

    Meinst Du, das Problem könnte an irgendwelchen register_globals-Einstellungen liegen? Wobei das merkwürdig wäre, wo es doch der gleiche Server ist.
     
    #6 Chris123, 2. März 2011
    Zuletzt bearbeitet: 2. März 2011
  7. Marcus.Kober

    Marcus.Kober Well-Known Member

    Registriert seit:
    6. Oktober 2010
    Beiträge:
    54
    Zustimmungen:
    0
    Nein, ich denke, mit register_globals wird das nichts zu tun haben. Da schon eher mit deinen Permalinkeinstellungen. Hast Du an der .htaccess irgendwas verändert, oder ist das die standardmäßige von WP?

    Und der Link wird tatsächlich zu www.example/seite-2?id=3 und nicht zu www.example/seite-2/?id=3? Das allein ist nämlich schon sehr seltsam.

    Versuche einmal (wenn das im laufenden Betrieb geht), alle Plugins zu deaktivieren und die Standard-htaccess von WP zu verwenden. Vielleicht liegt's ja an irgendwelchen Plugins.

    Habe den Code auf 4 unterschiedlichen WP-Installationen ausprobiert - lief überall wie gewünscht.

    (Wäre auch ganz wichtig zu wissen: deine WP-Version und die PHP-Version.)
     
  8. Chris123

    Chris123 Member

    Registriert seit:
    7. Februar 2011
    Beiträge:
    18
    Zustimmungen:
    0
    Super! Vielen Dank! Schuld war ein Plugin Permalink Redirect, das eingeschaltet war. Jetzt klappts! Danke!
     
  9. Marcus.Kober

    Marcus.Kober Well-Known Member

    Registriert seit:
    6. Oktober 2010
    Beiträge:
    54
    Zustimmungen:
    0
    Perfekt! :) Ich wusste doch, dass da was rumpfuscht. ;)
    Bitte!
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden