उपयोगकर्ता के पासवर्ड को प्रोग्रामिक रूप से कैसे बदलें


17

मैं एक पूरी तरह से अलग प्रोफाइल पेज (वर्डप्रेस द्वारा प्रदान नहीं किया गया) बनाने की कोशिश कर रहा हूं, क्योंकि डिफॉल्ट प्रोफाइल पेज का लेआउट और महसूस उपयोगकर्ताओं के लिए बहुत "वर्डप्रेस" है। अब मैं एक ऐसा पृष्ठ प्रस्तुत करने में सफल रहा हूँ जो उपयोगकर्ता के मेटा डेटा को संशोधित कर सकता है जैसे फर्स्टनेम, लास्टनाम, सिटी, ज़िप कोड इत्यादि।

अब क्या स्टम्प्ड मुझे उपयोगकर्ता का पासवर्ड बदल रहा है। क्या कोई अंतर्निहित वर्डप्रेस फ़ंक्शन है, Change_user_password ($ user_id, $ new_password) कहते हैं? मुझे आश्चर्य है कि मैं ऐसा करने वाली किसी चीज़ की तलाश नहीं कर सकता।

इससे भी बुरी बात यह है कि मैं एक काम कर रहा हूं UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id, लेकिन मैं वास्तव में आश्चर्यचकित हो जाऊंगा अगर इस पर कोई काम न हो।


1
md5वर्डप्रेस में पासवर्ड के लिए पदावनत किया गया है (लेकिन अभी भी पीछे की ओर संगत है - अगली बार उपयोगकर्ता लॉगिन पासवर्ड री-हैश और पुनः सहेजा जाएगा)। एपीआई के माध्यम से जाना बेहतर है ताकि वर्तमान और अधिक जटिल हैशिंग योजना का उपयोग किया जाए।
रार्स्ट

हाँ, मेरा भी यही अनुमान है। डेटाबेस में संग्रहीत पासवर्ड आने वाले पासवर्ड के साथ MD5 से मेल नहीं खाता है। तो हाँ, यह वास्तव में rehashed है।
अर्ध अराम

जवाबों:


24
wp_set_password( $password, $user_id );

देखें संदर्भ जानकारी के लिए।


1
मैंने इसे अनिवार्य रूप से मतदान किया क्योंकि इसके परिणामस्वरूप एकल वर्ग क्वेरी होती है। बहुत बढ़िया, अगर पासवर्ड है, तो वह सब जिसे आप अपडेट करना चाहते हैं। wp_update_userलगभग 14 प्रश्नों के परिणाम चल रहे हैं।
जॉन

11

एक साधारण wp_update_user(array('ID' => $userid, 'user_pass' => 'myNeWpaSSword'))आपके लिए सब कुछ करेगा - wp_update_user()(कोडेक्स)

एक संदेश पर: क्या आप थीम माई लॉगिन (वर्डप्रेस प्लगइन) से अवगत हैं ? यह आपको फ्रंट-एंड साइड प्रोफाइल पेज प्रदान कर सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.