Nefunkční get_currentuserinfo

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Nefunkční get_currentuserinfo

Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  weskomfort a poslední změna je stará 9 let, 10 měsíců.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #18938

    weskomfort
    Participant
    Web

    Byl na mě dán požadavek na úpravu stránek běžících na WP Multisite. Je na nich vytvořen spešl plugin (né mnou), ale zjistil jsem, že v pluginu funkce get_currentuserinfo nevrací žádné hodnoty. Nesetkal se s tím někdo pls??

    Jedna z vícero funkcí která vrací nulu.

    function expired_date() {
    	global $current_user;
    	get_currentuserinfo();
      $date = get_field('expired_date', 'user_' . $current_user->ID);
    	if ($date==0) $date = '20000101';
    	return DateTime::createFromFormat('Ymd', $date);
    }

    Předem dík za každou radu.

    #18941

    admin
    Keymaster
    Web

    Takže nefunguje funkce get_currentuserinfo() nebo spíše celá funkce expired_date()? Výsledkem je nula (tedy 0) nebo prázdná hodnota (tedy NULL)? Používáte tam funkci get_field(), která je patrně z pluginu Advanced Custom Fields, nemůže ta způsobovat nějaký problém?

    #18945

    weskomfort
    Participant
    Web

    get_currentuserinfo() protože pokud zadám user_ ručně tak se datum expirace zobrazuje normálně. Advanced Custom Fields tak nějak využívá celý web (z toho opravdu odvázaný nejsem), takže nepoužít ho by znamenalo předělat celý web.
    Hodnota je NULL (omluva za špatné vyjádření)

    Funkce get_currentuserinfo() nevrací hodnoty ani v dalších funkcích pluginu
    Např:

    function cespo_headline($section) {
    	global $current_user, $blog_id;
    	if (!is_user_logged_in() and $blog_id==1) return false;
        get_currentuserinfo();	
    	$html = '<ul>';
    	$html .= '<li class="item-back">';
    	if ($section=='web') $html .= '<a href="/aplikace/">'.__('přejít na aplikaci Dostaňte dotace','cespo_plugin').'</a>';
    	elseif ($section=='app') $html .= '<a href="/">'.__('Zpět na stránku dostantedotace.cz','cespo_plugin').'</a>';
    	$html .= '</li>';
    	if (is_user_logged_in()) { 
    		$html .= '<li class="item-lock">';
    		$expired_date = cespo_expired_date();						
    		if ($expired_date->format('Ymd')>date('Ymd')) $html .= __('služba je aktivní do:','cespo_plugin'); 
    			else $html .= __('služba vypršela:','cespo_app'); 
    		$html .= ' <strong>'.$expired_date->format('d.m.Y').'</strong>';
    		$html .= '&nbsp; <a href="/aplikace/prodlouzeni/">'.__('prodloužit','cespo_plugin').'</a>';
    		$html .=  '</li>';
    		$html .= '<li class="item-custom"><a href="/aplikace/nastaveni/">'.__('nastavení účtu','cespo_plugin').'</a></li>';
    		$html .= '<li class="item-user">';
    		$html .= __('přihlášen:','cespo_plugin').' <strong>';
    		$html .= $current_user->user_firstname.' ';
    		$html .= $current_user->user_lastname;
    		$html .= '</strong> &nbsp;<a href="'.wp_logout_url( home_url() ).'">'.__('odhlásit','cespo_app').'</a>';
    		$html .= '</li>';
    	 }
    	$html .= '</ul>';
    	return $html;
    }

    zobrazí se pouze viz. příloha

    Attachments:
    #18951

    admin
    Keymaster
    Web

    Těžko říci, ale bude to asi složitější problém. Nemůže to ovlivňovat nějaký jiný plugin? Problém se objevil až v současné době (třeba po nějaké aktualizaci) nebo to je něco dlouhodobého? Nejsou funkce volány ještě dříve než je definován uživatelský objekt? Můžete poslat přístupy, zkusím se na to případně podívat…

    #18990

    admin
    Keymaster
    Web

    Podařilo se problém nějak dořešit?

    #19003

    weskomfort
    Participant
    Web

    Jo jo. Omluva, že jsem nenapsal, ale stránky mi daly docela zabrat.
    Nejdříve jsem problém vyřešil když jsem ve funkci volat pluggable.php

    require_once(ABSPATH . 'wp-includes/pluggable.php');

    Nicméně pak jsem se dal cestou aktualizace WP a pluginů a problém se vyřešil sám. Nyní není třeba ani zmíněného kódu.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti