[PHP] Wordpress - USER ID |
[PHP] Wordpress - USER ID |
31.12.2019, 11:39:04
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 1.11.2015 Ostrzeżenie: (0%) |
Witajcie,
Na wstępie zaznaczę, że sam mam niemal zerową wiedzę zakresie PHP, ale sytuacja zmusza mnie do grzebania w nim... Otóż mój motyw w wordpressie używa w headerze funkcji get_current_user_id() dla zalogowanych użytkowników, która wywołuje problem - krótko po załadowaniu dowolnej podstrony zamiast do profilu z ID użytkownika w linku, prowawdzi do /undefined/ Wyczytałem na zagranicznych forach, że ta funkcja nie ma prawa działać przed załadowaniem pliku pluggable.php z /wp-includes/. Rzeczywiście dając stronie trochę czasu po załadowaniu, link działa poprawnie. Problem okazuje się dość popularny, dzięki czemu dotarłem do takich porad: 1. wywołać pluggable.php przez: `include_once(ABSPATH . 'wp-includes/pluggable.php'); lub: require_once(ABSPATH.'wp-includes/pluggable.php');` 2. dodać w capabilities.php (w /wp-includes/ znalazłem tylko compat.php) `require_once('pluggable.php');` 3. Użyć: `<?php if(!function_exists('wp_get_current_user')) { include(ABSPATH . "wp-includes/pluggable.php"); } ?>` 4. Użyć: `add_action('init','do_stuff'); function do_stuff(){ $current_user = wp_get_current_user(); // ... }` Domyślam się, że powyższe 4 pkt wyglądają dość jasno dla kogoś z pojęciem, niestety dla mnie nie. Nie wiem jak i gdzie dodać te polecenia. Jak już próbowałem, to wywalało wordpressa... Wklejam jeszcze fragment kodu z headera, który wywołuje problem: `<?php if( is_user_logged_in() ) : ?> <div class="welcome menu-item-has-children"><?php echo get_avatar( get_current_user_id() ); ?> <?php echo wp_get_current_user()->display_name; ?> <i class="fa fa-caret-down"></i> <ul class="nav-menu sub-menu"> <?php if( xbox_get_field_value( 'wpst-options', 'display-my-channel-link' ) == 'on' ) : ?> <li><a href="<?php echo get_author_posts_url(get_current_user_id()); ?>wall/"><i class="fa fa-user"></i> <span class="topbar-item-text"><?php esc_html_e('Profil', 'wpst'); ?></span></a></li> <?php endif; ?> ...` Będę przeogromnie wdzięczny za każdą poradę. Michał EDIT: Jeśli nie jest to takie proste jak myślałem, proszę o kontakt na priv osób zainteresowanych odpłatnym zleceniem. Ten post edytował hevelius 31.12.2019, 11:39:45 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 12:45 |