我在Wordpress中有一個表單生成的PHP文件,它調用一個自定義函數來獲取用戶數據來填充窗體。如果沒有找到用戶,該功能將正常運行(如果應答,則返回「無效用戶名」),但如果用戶有效,則不會逐步執行該功能。這是它的要點:Wordpress函數創建窗體返回False
function print_report($username, $var2, $var3)
{
$user = get_user_by('login', $username);
if($user) {
//get all the information and create the form
}
else echo "invalid username";
return false;
}
看來,當一個有效的用戶被發現,它不通過該功能,但跳到最後。換句話說,如果用戶有效,它將返回「false」。
我希望我解釋得很好。如果您需要其他信息,請告訴我。
編輯
我已經做了var_dump()
的建議。它找到用戶,但仍然返回false。這是我的測試用戶的結果:
string 'jimv3000' (length=8)
object(WP_User)[1610]
public 'data' =>
object(stdClass)[1634]
public 'ID' => string '1101' (length=4)
public 'user_login' => string 'jimv3000' (length=8)
public 'user_pass' => string '*THERE IS A PASSWORD HERE*' (length=34)
public 'user_nicename' => string 'jimv3000' (length=8)
public 'user_email' => string '*THERE IS AN EMAIL HERE*' (length=18)
public 'user_url' => string '' (length=0)
public 'user_registered' => string '2016-05-16 20:37:30' (length=19)
public 'user_activation_key' => string '' (length=0)
public 'user_status' => string '0' (length=1)
public 'display_name' => string 'jimv3000' (length=8)
public 'ID' => int 1101
public 'caps' =>
array (size=1)
'subscriber' => boolean true
public 'cap_key' => string 'wp_capabilities' (length=15)
public 'roles' =>
array (size=1)
0 => string 'subscriber' (length=10)
public 'allcaps' =>
array (size=3)
'read' => boolean true
'level_0' => boolean true
'subscriber' => boolean true
public 'filter' => null
false
一如既往,非常感謝您的幫助。
你有'$ username'和'$ user'什麼?你可以做一個'var_dump($ username,$ user)'並顯示你的結果嗎? –
除非你告訴代碼在if語句中「返回」某些東西,否則你總是會返回false,因爲return語句落在你的if語句之外。 –
它確實找到用戶和數據。返回時間太長,無法在此處發佈,但它會查找用戶數據,並在最後返回「false」。 –