2017-08-22 45 views
-1

我正在嘗試更新用戶在Wordpress網站上的最後一次登錄時間。使用自定義WordPress時無法重新聲明update_user_meta()php

functions.php我包括一個自定義的PHP文件,在該文件中我有一個函數來更新用戶的元數據:

<?php 

function update_user_meta($user_id, $meta_key, $meta_value, $prev_value = 
'') { 
return update_metadata('user', $user_id, $meta_key, $meta_value, 
$prev_value); 
} 

echo "done"; 

?> 

然而,這給出了錯誤:

Cannot redeclare update_user_meta()

基本上說它已在此處聲明,不能在其他地方聲明。

任何人都可以請幫助我,爲什麼發生這種情況。

+0

代碼嘗試重新安裝的WordPress到最新版本。 –

+0

嘿wordpress是一個環境,這個函數可能會在每個請求加載的環境中定義...所以你不能重新定義已經在wordpress核心庫中定義的名稱的函數 –

+0

你嘗試使用谷歌搜索'update_user_meta'嗎?第一個結果告訴你,[Wordpress已經有一個名字的函數](https://codex.wordpress.org/Function_Reference/update_user_meta)。編程的基本原則之一是你有兩個函數(或變量,類等)具有相同的名稱。 – FluffyKitten

回答

0

嘗試使用前綴爲您的功能,改變這個

<?php 

function prefix_update_user_meta($user_id, $meta_key, $meta_value, $prev_value = 
'') { 

return prefix_update_metadata('user', $user_id, $meta_key, $meta_value, 
$prev_value); 

} 

echo "done"; 

?>