Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wordpress - USER ID
hevelius
post 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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 12:45