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

Tag-ID ermitteln

Dieses Thema im Forum "Plugin-Vorstellung" wurde erstellt von oneside, 21. November 2007.

  1. oneside

    oneside Well-Known Member

    Registriert seit:
    5. Juni 2007
    Beiträge:
    45
    Zustimmungen:
    0
    Hallo,
    ich möchte mir ein kleines Plugin programmieren, welches beim Aufruf einer Tagseite alle Titel dder Beiträge mit diesem Tag ausgibt.
    Dazu benötige ich die irgendwie die Tag-ID

    Wie komme ich an die Tag-ID ran?

    Ich habe es so versucht, geht aber nicht :confused:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    auch die Abfrage is_tag() klappt nicht. Wie kann ich innerhalb eines Plugins abfragen, ob die angezeigte Seite eine Tagseite ist und wie die ID des Tags lautet?


    Danke für eure Hilfe, bin leider absoluter Neuling in WP-Plugin-Sachen :confused:
     
    #1 oneside, 21. November 2007
    Zuletzt bearbeitet: 21. November 2007
  2. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  3. oneside

    oneside Well-Known Member

    Registriert seit:
    5. Juni 2007
    Beiträge:
    45
    Zustimmungen:
    0
    Hi :)

    der Befehl gibt mir ja die Tags zu einem bestimmten Artikel aus, was übrigends auch nicht geht bei mir, wenn ich den Befehl in mein Plugin reinschreibe. Muss ich wenn ich ein Pugin programmiere vorher irgendwelche Objekte erzeugen um an bestimmte Funktionen zu kommen oder damit das funktioniert?

    Ich brauche eine Möglichkeit abzufragen, ob die aktuell aufgerufene Seite eine Tag-Archiv-Seite ist und wie die tag_id oder id`s lautet/lauten.

    Ich hab rausgefunden, dass es Funktionen gibt, die genau die benötigten Werte ermitteln, die funktionieren aber nicht, wenn ich die in mein eigenes Plugin integriere:

    get_query_var('tag_id');
    get_query_var('tag');
    get_query_var('tag_slug__and');

    Diese liefern mir aber im Plugin nix zurück, sondern ich bekomme einen Fehler:
    "Fatal error: Call to a member function get() on a non-object in ..."
     
    #3 oneside, 21. November 2007
    Zuletzt bearbeitet: 21. November 2007
  4. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  5. oneside

    oneside Well-Known Member

    Registriert seit:
    5. Juni 2007
    Beiträge:
    45
    Zustimmungen:
    0
    Ich glaube du hast mich nicht richtig verstanden, es geht bei meiner Frage erstmal nicht darum, eine Template für Tags anzulegen oder irgendwas in einem Template auszugeben. Es geht darum, dass ich ein Plugin programmieren möchte (genaugenommen eine kleine Erweiterung eines Tag-Plugins, welche ich benötige).

    Ich habe also eine PHP-Datei erstellt und diese in den Plugin-Ordner meiner WP-Installation geladen und das Plugin in der Konfiguration aktiviert.

    Jetzt muss ich einen Code (in das noch leere) Plugin einfügen, welcher ermittelt, ob die aktuell im Browser aufgerufene Seite eine Tag-Seite (also ein Tag-Archiv) ist und wenn ja, wie denn die aktuelle ID des Tags lautet.

    Wenn ich die ID habe, kann ich mit der weiteren Verarbeitung fortfahren, die ich bereits programmiert habe. Mirt fehlt lediglich eine Möglichkeit die aktuelle TagID des TagArchives zu ermitteln.

    Sorry für die Umstände, aber mit den Plugin-Sachen kenne ich mich noch nicht aus :confused:
     
  6. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Nun ja... Also erstmal ist es ziemlich sinnfrei, eine neue WP-Query aufzumachen. Hole dir mal die normale WP-Query (global $wp_query) und lass dir das Objekt mal ausgeben (var_dump($wp_query)). Da findest du bestimmt irgendwo die ID des aktuellen Tags.
     
  7. oneside

    oneside Well-Known Member

    Registriert seit:
    5. Juni 2007
    Beiträge:
    45
    Zustimmungen:
    0
    Bei var_dump($wp_query) sind alle Werte im Array leer :???:.
    Irgednwo muss doch diese ID zu finden sein...
     
  8. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    $wp_query ist ein Objekt, kein Array. Davon abgesehen - hast du dir dieses Objekt in deiner Plugin-Methode auch global geholt?
     
  9. oneside

    oneside Well-Known Member

    Registriert seit:
    5. Juni 2007
    Beiträge:
    45
    Zustimmungen:
    0
    Ahh, ich hab nen Fehler gemacht und keinen Filter (add_filter) benutzt...

    Im Englischen Forum hat mir der Mod ddas geschrieben:

    "But remember, plugins load *before* the query is parsed and created. So you have to defer using that stuff until at least the init action hook. "

    Das war mein Fehler. Trotzdem danke für die Hilfe :)))
     
    #9 oneside, 21. November 2007
    Zuletzt bearbeitet: 21. November 2007
  10. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Ahja, danke... mmmh... wann wird dein Plugin aufgerufen? Über eine Template-Funktion, oder über einem Hook? (welchen?)

    EDIT: Alles klar, wunderbar. :)
     
    #10 marX, 21. November 2007
    Zuletzt bearbeitet: 21. November 2007
  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