login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Wordpress/Buddypress vraag (Opgelost)

Offline antrax - 12/02/2014 16:36
Avatar van antraxLid Hallo

Voor mijn wordpress theme heb ik Buddypress geïnstalleerd en die wil ik koppelen aan mijn inlog formulier. Als ik de inlog gegevens invoer kom ik uit bij wp-login.php en moet ik daar opnieuw inloggen wil ik echt ingelogd zijn. En als ik dan echt ingelogd ben en ik ga weer naar de frontpagina dan zie ik nog steeds het inlog scherm terwijl dat dan weg moet zijn en je dan de avatar moet zien en de naam van de ingelogde gebruiker.
Ik hoop dat iemand mij kan helpen en kan zien wat ik fout doe hieronder de html en de wordpress code.

Dit is de HTML Versie
  1. <!-- / sign box \ --> <div class="signBox">
  2.  
  3. <h3><img src="<? bloginfo('template_directory'); ?>/images/img9.png" alt="">Aanmelden</h3>
  4.  
  5. <div class="inner">
  6.  
  7. <form action="#">
  8. <input type="text" class="field" value="Gebruikersnaam">
  9. <input type="password" class="field pass" value="Wachtwoord..">
  10. <div class="bot">
  11. <input type="submit" class="button" value="Inloggen">
  12. <a href="#" class="link">Aanmelden<br>Wachtwoord kwijt?</a>
  13. </div>
  14. </form>
  15.  
  16. </div>
  17.  
  18. </div>
  19. <!-- \ sign box / -->


Dit is de WordPress versie


  1. <?php do_action( 'bp_before_sidebar' ); ?> <!-- / sign box \ -->
  2. <div class="signBox">
  3.  
  4. <h3><img src="<? bloginfo('template_directory'); ?>/images/img9.png" alt="">Aanmelden</h3>
  5.  
  6. <div class="inner">
  7. <?php do_action( 'bp_inside_before_sidebar' ); ?>
  8.  
  9. <?php if ( is_user_logged_in() ) : ?>
  10.  
  11. <?php do_action( 'bp_before_sidebar_me' ); ?>
  12.  
  13. <div id="sidebar-me">
  14. <a href="<?php echo bp_loggedin_user_domain(); ?>">
  15. <?php bp_loggedin_user_avatar( 'type=thumb&width=40&height=40' ); ?>
  16. </a>
  17.  
  18. <h3><?php echo bp_core_get_userlink( bp_loggedin_user_id() ); ?></h3>
  19. <a class="button logout" href="<?php echo wp_logout_url( wp_guess_url() ); ?>"><?php _e( 'Uitloggen', 'buddypress' ); ?></a>
  20.  
  21. <?php do_action( 'bp_sidebar_me' ); ?>
  22. </div>
  23.  
  24. <?php do_action( 'bp_after_sidebar_me' ); ?>
  25. <?php endif; ?>
  26. <?php do_action( 'bp_before_sidebar_login_form' ); ?>
  27.  
  28. <?php if ( bp_get_signup_allowed() ) : ?>
  29.  
  30. <?php endif; ?>
  31.  
  32. <form action="<?php echo site_url( 'wp-login.php', 'login_post' ); ?>" method="post">
  33. <fieldset>
  34. <input type="text" class="field" value="<?php if ( isset( $user_login) ) echo esc_attr(stripslashes($user_login)); ?>">
  35. <input type="password" class="field pass" value="">
  36. <div class="bot">
  37. <input type="submit" class="button" value="Inloggen">
  38. <a href="#" class="link">Aanmelden<br>Wachtwoord kwijt?</a>
  39. </div>
  40. </fieldset>
  41. </form>
  42.  
  43. </div>
  44.  
  45. </div>
  46. <!-- \ sign box / -->

9 antwoorden

Gesponsorde links
Offline Jointjeff - 12/02/2014 17:02
Avatar van Jointjeff HTML interesse Heb je ook een link beschikbaar? Wellicht dat deze meer duidelijkheid kan verschaffen.
Offline Thomas - 12/02/2014 17:24
Avatar van Thomas Moderator Zie je alleen het loginformulier (ook al ben je ingelogd)? Dan is er wellicht iets mis met de is_user_logged_in() functie, om een of andere reden levert dit niet het gewenste resultaat op dan?

Zie je zowel de avatar als het loginformulier?
Je zult (dan) sowieso (ook) een ELSE-gedeelte moeten maken lijkt me, zodat je zoiets krijgt:

  1. if (is_user_logged_in()) {
  2. // toon avatar
  3. // ...
  4. // toon uitloglink
  5. // ...
  6. } else { // <-- je ELSE statement
  7. // toon loginformulier
  8. // ...
  9. }
Offline antrax - 12/02/2014 23:04 (laatste wijziging 12/02/2014 23:13)
Avatar van antrax Lid Hieronder een screenshot hoe het eruit ziet als ik ingelogd ben.
Zo ziet het eruit als ik ingelogd ben

Let niet op de domein naam maar dit is even tijdelijk om alles te testen.
Dit is de link waar de site nu staat

heb ook in de standaard buddypress theme gekeken hoe het daar gedaan was.
daar vond ik deze code.

  1. <?php if ( is_user_logged_in() ) : ?>
  2.  
  3. <?php do_action( 'bp_before_sidebar_me' ); ?>
  4.  
  5. <div id="sidebar-me">
  6. <a href="<?php echo bp_loggedin_user_domain(); ?>">
  7. <?php bp_loggedin_user_avatar( 'type=thumb&width=40&height=40' ); ?>
  8. </a>
  9.  
  10. <h4><?php echo bp_core_get_userlink( bp_loggedin_user_id() ); ?></h4>
  11. <a class="button logout" href="<?php echo wp_logout_url( wp_guess_url() ); ?>"><?php _e( 'Log Out', 'buddypress' ); ?></a>
  12.  
  13. <?php do_action( 'bp_sidebar_me' ); ?>
  14. </div>
Offline Thomas - 12/02/2014 23:45
Avatar van Thomas Moderator Zoals ik heb kunnen gissen uit je oorspronkelijke topic, en wat ook min of meer bevestigd wordt door je screenshot is dat zelfs na inloggen het inlogformulier zichtbaar is, wat mij nogal vreemd lijkt.

Is dat het probleem? Je zult me toch een beetje moeten helpen. Ondanks de uitgebreide omschrijving van wat er gebeurt kan ik niet goed uit je verhaal opmaken wat er volgens jou niet goed werkt / wat je wilt veranderen? Ik zie namelijk nergens een vraag .
Offline vinTage - 13/02/2014 00:00 (laatste wijziging 13/02/2014 00:00)
Avatar van vinTage Nieuw lid Gewoon een uber gok hoor, maar staat dat inlog form (terwijl ingelogged) er ook nog na een hard refresh? (kwestie van caching uit te sluiten!)
Offline antrax - 13/02/2014 00:09
Avatar van antrax Lid Ja dat is het is probleem nadat ik ben ingelogd is het inlog scherm nog zichtbaar dat moet niet.
Heb ook al op de site van Buddypress gekeken of ik daar iets kon vinden wat me kon helpen.
Offline Thomas - 13/02/2014 00:23
Avatar van Thomas Moderator Nou ja, wat ik al (min of meer) eerder zei dus: het loginformulier wordt te allen tijde afgedrukt, er wordt niet gecontroleerd of iemand ingelogd is alvorens het loginformulier wordt afgedrukt...

Oftewel, je moet dus je if-statement voorzien van een ELSE-tak:

  1. if (is_user_logged_in()) {
  2. // toon avatar
  3. // ...
  4. // toon uitloglink
  5. // ...
  6. } else { // <-- je ELSE statement
  7. // toon loginformulier
  8. // ...
  9. }


Mag ik hier uit opmaken dat je niet echt vetrouwd bent met PHP? Is het zo duidelijk genoeg, want bovenstaand codefragment geeft alleen de structuur weer.
Offline antrax - 13/02/2014 00:55 (laatste wijziging 13/02/2014 02:28)
Avatar van antrax Lid Ik snap wat je bedoelt ja via je uitleg. Ben idd geen php expert. Maar ik ga aan de hand van je tips verder proberen iedergeval bedankt.

EDIT: het is inmiddels gelukt met de tips van hierboven bedankt.

Nu heb ik een andere vraag als ik op log in druk dan kom ik uit bij wp-login.php en moet ik nog een keer mijn gegevens invullen.
Hoe kan ik zorgen dat als ik op Log in druk dat ik gelijk inlog zonder dat ik op wp-login.php nog een keer moet inloggen.?
Offline Jointjeff - 13/02/2014 10:05
Avatar van Jointjeff HTML interesse Dat komt omdat je de velden een bepaalde name moet geven. Daarnaast kun je ook een aantal hidden inputs meegeven om bijvoorbeeld na het inloggen een redirect naar de homepage te geven.

Zie code:
  1. Gebruikersnaam:<br>
  2. <input type="text" name="log" id="user" /><br>
  3. Wachtwoord:<br>
  4. <input type="password" name="pwd" id="pass" /><br>
  5. <input name="rememberme" id="rememberme" value="forever" tabindex="90" type="checkbox"> Onthouden<br>
  6.  
  7. <input name="redirect_to" value="http://www.homepage.nl/" type="hidden">
  8. <button type="submit" id="loginsubmit" name="login" />Inloggen</button>


Geef dus de gebruikersnaam de name "log" mee, en wachtwoord "pwd".
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s