LogIn-Formular in Post

  • Hello Leute,

    hat jemand eine Idee wie man ein LogIn-Formular in einen Post integriert? Es sollte allerdings eines sein, dass den User dann nicht in d Wordpress-Adminbereich, sondern auf eine Seite der Homepage (od. a dieselbe Seite) bringt? Hab das zwar schon mit einem Template für eine statische Seite hin bekommen, habe aber keine Ahnung wie ich das mit einem Post anstelle.

    Danke!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Na das Template für die statische Seite ist doch schon die halbe Miete. :-) Includiere doch das Seitentemplate in die single.php (und evtl. die Archive), wenn genau dieser Artikel aufgerfuen wird:

    PHP
    if ( is_single(123) ) {
      require 'login-template.php';
      return;
    }


    (Statt "return" doch "exit"? Oder noch besser else-Zweig? Probiers aus! ;))

  • So: Hab´s jetzt nochmal editiert, weil ich´s jetzt zumindestens so hin bekommen/kapiert hab, dass es wieder alles "richtig" darstellt. Einziges Problem ist meine "login-template.php"... Von der ich noch nicht all zu viel weiß :D Ach ja! Ich hab gar keine single.php in meinem Theme. Ich mach das über ein Page-Template. (Geht leider nicht wirklich anders.) Das Template wie folgt, feat. MarX-Code


    Was ist der Meister Urteil?

    Marcus: Die Seite ist immer noch dieselbe... Link Nur ein neuer Versuch, weil ich grad wieder Zeit hab weiter zu machen.

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (10. Dezember 2008 um 20:36)

  • Wieso soll der Loop nochmals durchlaufen werden? (Mal abgesehen davon, dass ich aus der php-[0][1]0[1][0]-Diskussion so gar nicht schlau werde).

    Das Seitentemplate schaut ja folgendermassen aus: (wenn ich´s richtig verstanden hab, dann ist das "Pseudocode", was ich hier schreibe)

    Mit "dann: gib die Kontrolle zurück und mach weiter", hab ich diesen Teil gemeint:

    PHP
    <?php while (have_posts()) : the_post(); if ( is_single(159) ) { // Während ich Posts habe !ABER! Wenn der Post die Id "159" hat, dann...
        require 'login-template.php';    // ...Login-Template...
        return;    // ...ausgeben
        continue;
    }?>

    Irgendwie bekomme ich schön langsam das Gefühl, dass ich das überhaupt nie hin bekomme... :(

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (10. Dezember 2008 um 21:19)

  • Irgendwie bekomme ich schön langsam das Gefühl, dass ich das überhaupt nie hin bekomme... :(


    Ich glaub eher, du bist ganz dicht dran. ;-)

    Zitat

    Mit "dann: gib die Kontrolle zurück und mach weiter", hab ich diesen Teil gemeint:


    Jupp, genau. Und "mach weiter" heißt auf englisch einfach "continue". ;-) Das "return" muss dann natürlich wieder weg. Und im Logintemplate steht dann natürlich nur der Code, der dort eingebunden werden muss (also nicht das vollständige Template - Header usw. hast du ja bereits vorher ausgegeben).

    Mit "nächster Schleifendurchlauf meinte ich auch ganz einfach den nächsten Post im Loop. ;-)

  • Irgendwie hab ich auch das Gefühl, dass das schön langsam ein Smilie-Massaker wird ... von :( zu :) zu :D (hoffentlich liegts nicht nur am Bier)

    Hab jetzt den "return" raus und die login-template.php um das drum herum gekürzt. Ergebnis: leider keines. Schaut alles noch immer wie vorher aus. Hmm... Echt keinen Plan, was da los ist. Kann´s sein, dass das an der veränderten Permalink-Struktur durch das (js-)horizontal-scroll liegt? Er zeigt nämlich http://site-url/pagename/#postname an... Dann wäre mein Problem wohl hier zu suchen:

    Code
    <div class="panel" id="<?=$post->post_name?>">

    Also a) ich suche die Nadel im Heuhaufen b) ich werde (bin?) paranoid c) schlichtweg zu blöd d) 2 bier zu viel e) 5 Bier zu wenig.

    Also wenn jetzt nicht e) die Antwort ist... :mrgreen:

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (10. Dezember 2008 um 22:11)

  • ...war mir dann gestern doch schon etwas zu hoch :mrgreen:

    Hab´s jetzt gerade einmal ausprobiert. Leider srollt er mir dann nicht mehr zu diesem Panel. Erstes und zweites Element funktionieren. Aber bei klick auf "Login" scrollt er wieder zum ersten Element. Beim genaueren hinsehen vermute ich einmal, dass es an der Permalinkstruktur (/%category%/%postname%/) liegen könnte. Siehe Aufrufe f d Navigation...

    PHP
    <li><a href="#<?=[COLOR=Red]$post->post_name[/COLOR]?>"><span><?php the_title(); ?></span></a></li>

    ...und Inhalts-Panel...

    PHP
    <div class="panel" id="<?=[COLOR=Red]$post->post_name[/COLOR]?>"> 
    <h3><?php the_title(); ?></h3> <!--Zeige Titel... -->
    <?php the_content(); ?> <!-- ...den Inhalt -->

    Beide verwenden immer "[COLOR=Red]post_name[/COLOR]".

    >>>>>

    Also hab ich´s statt mit ...

    Code
    if ([COLOR=Red]is_single (159)[/COLOR]) {

    ...und...

    Code
    if ( $post->[COLOR=Red]id == 159[/COLOR] ) {

    ...auch noch mit dem Namen probiert:

    Code
    if ( $post->[COLOR=Red]name == login[/COLOR] ) {

    Funktioniert zwar wieder, aber das login-formular taucht leider nicht auf. hm... echt keinen Plan an was es noch liegen könnte.

    --------------------
    das ist übrigens die login-template.php

    Hast Du noch eine Idee, was es hier haben kann? Unter Anmeldung bekomm ich es mit der anmeldung.php (Template) ja ohne Probleme hin. Aber in dem LogIn-Post will´s einfach nicht auftauchen...

    -------------
    Ps.: Ist ja nicht von mir, das Theme. Deswegen eine Frage am Rand: Wieso setzt der Autor des Themes vor die Links # in der Navi? Ich meine, ich seh sie ja dort dann auch wirklich in der Url-Leiste vom Browser. So was hab ich nämlich echt noch nie gesehen? Wofür braucht der die? <li><a href="[COLOR=YellowGreen]#[/COLOR]<?=$post->post_name?>">

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (11. Dezember 2008 um 12:45)

  • Ach Marcus, weißt was? Pfeif drauf. :!: Danke auf jeden Fall erst mal für all die Hilfe! :!:

    Hab´s jetzt as simple as possible gelöst, weil ich ja glaub ich schon 8 Stunden damit herum tu... Hab via Html-Editor das LogIn-Formular rein geklopft:

    ..was soll´s. Hab ja auch so noch einen Haufen Arbeit vor mir. Deswegen auch gleich die nächste Frage :-D: Hast Du einen Plan, wo/wie ich ein Registrieren Formular finde oder wenigstens die "input type"s für mein anmelden.php-Template?? (also ned so Basis-Html wie oben sondern eher so: )

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (9. Februar 2009 um 00:01)

  • .Wieso setzt der Autor des Themes vor die Links # in der Navi? Ich meine, ich seh sie ja dort dann auch wirklich in der Url-Leiste vom Browser. So was hab ich nämlich echt noch nie gesehen? Wofür braucht der die? <li><a href="[COLOR=YellowGreen]#[/COLOR]<?=$post->post_name?>">


    Das sind Fragmentbezeichner, diese zeigen jeweils auf eine ID im Dokument. Steht alles hier:
    SELFHTML: HTML/XHTML / Verweise (Links) / Projekt-interne Verweise

    Zur Regsitrierung, schau dich doch mal bei den Plugins um:
    WordPress › register Tags WordPress Plugins

    Vielleicht findest du da auch was zum Login-Formular:
    WordPress › login Tags WordPress Plugins

  • Hey Marcus,

    danke für Alles! Hat bis jetzt super funktioniert. 8) Das mit dem Anker workt irgendwie nicht, ist aber eh wurscht, bzw. mir sogar lieber so (der Anker fehlt dann nämlich weiter unten, sprich: der Verweis funkt so oder so ned). Die Plug-In Datenbank hab ich auch durchforstet und sogar 2 Plug-Ins gefunden, die funktionieren können. Bei einem haben sich dann leider Limits in der Funktionalität ergeben, die ich nicht ausbessern/ergänzen kann. Das zweite PlugIn ist (Eventr) das leider so mies und unflexibel gemacht ist, dass ich sogar in die Datenbank rein hab müssen... Und leider gibt´s da dieses eine verflixte Problem mit der Validierung eines Form-Felds (sanitizeInput) ...

    Kann ich Dich deswegen in einem neuen Thread (damit andere auch was davon haben) nochmal "belangen" (link)?

    In jedem Fall nochmal Dank! und Anerkennung! Hast mich gut vors Ziel gebracht! (Eigentlich schon fast katapultiert)

    k.

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (11. Dezember 2008 um 18:26)

  • Hey. Kleiner Nachtrag, weil mir der Html-LogIn dann doch etwas zu umständlich usw. war und ich eigentlich ja eine Ajax-Lösung wollte. Die hab ich mit dem Ajax-LogIn-Widget "Ajax-LogIn" (kreativer Name ;) ) dann auch gefunden. Hab zwar keinerlei Sidebar, geschweige denn irgendwo eine dynamische Region, aber das PlugIn biete die Funktion "get_ajaxlogin()" zusätzlich an :D

    Habe jetzt einfach 1 Seite mit folgendem Template & 2 Kategorien angelegt: 1e für die versteckten Posts, die man erst nach dem LogIn sieht (cat=3) & 1e nur für den LogIn-Post, den man immer sieht (cat=11).

    Hier ist der (ausgezeichnet funktionierende) Code, der sich übrigens auf deine anfänglich erwähnte if ( is_usw.)-Weiche stützt. Quasi Back to the Roots:

    Anm.: Footer und Titel sind auskommentiert, weil ich´s noch brauchen könnte.

    Also nochmals Danke wegen dem etwas zeitversetzten Lerneffekt. Musste sich wohl erstmal setzen :-D

    Für alle Anderen, die Hilfe suchen und das hier lesen: Wordpress-Version 2.6 & Theme =/war uspr. WP-Coda

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!