قائمة الطعام
مجانا
التسجيل
الصفحة الرئيسية  /  التثبيت والتكوين/ كيفية إنشاء صفحة التسجيل الخاصة بك في WordPress Multisite. شكل في التخطيط الخاص بك

كيفية إنشاء صفحة التسجيل الخاصة بك في WordPress Multisite. شكل في التخطيط الخاص بك

- حدد مستودعًا --- Buffalo Grove IL 60089 USA (USA) (Buffalo Grove IL 60089 USA (USA)) Chicago USA USA Tamara (16677 SW Blanton street ALOHA. Oregon 97078) Highland Park (USA، USA Highland Park، IL 60035 PO Box 723 # 24) Istanbul (Istanbul، Gençturk Cad.15، Bırlik Han. K-5.d.55 # 1) Istanbul (Nişantaşı-Valikonağı cd-Şehit İsmet Armağan sk- No 3/17) Paris (13R) Villa Madrid 92200 Neuilly-sur-Seine) Republica Moldova، Falesti (s.Fagadau) South Kensington (Bute street) Adler (Quiet Lane 2، Kudepsta District) Aktobe (Aktyubinskaya str.47/2) Almetyevsk (Almetyevsk، Lenin str.) 13، office 306) Anapa (Terskaya st. 88، 3rd floor) Astrakhan (Kommunisticheskaya st.17، office 4) Atyrau (Atyrau، Azattyk ave.42، office 206) Berdyansk (Zaporozhye region) Bishkek (Bishkek، Chui ave. 32B ، مركز تسوق Izumrud ، مكتب C-5) Blagoveshchensk (50 شارع Let Oktyabrya. 15. مكتب "Amur Fair" 575) Buguruslan (شارع Krasnoznamennaya 47/2) Veliky Ustyug (Veliky Ustyug ، شارع Krasnaya ، 61 (الطابق الثاني) وسط المدينة) فلاديفوستوك (شارع سفيتلانسكايا 147 مكتب 2/4) ب أولجوجراد (مدينة فولغوغراد ، طريق Aviatorov السريع 15 ، المستودع 23) Dyurtyuli (شارع Agidel ، 4 ، الربع 2) Yeisk (Karl-Marx St. 42/1) Yekaterinburg (St. Pervomaiskaya 56، office 308) Yekaterinburg (Mamina-Sibiryaka str. 10، office 3) Ivanovo (Sheremetyevsky prospect، 85G، Business Center "Premium Plaza" 2nd floor، office 212) Izhevsk (Lenina 21، office 304. Business Center "Forum" ) Izberbash (Chapaeva 4 ind. 368501) Irkutsk (Irkutsk، Gornaya street 4 (next to Karamel shopping centre) office 407) Ishimbay (Zorge، house 18) Yoshkar-Ola (Lenin Ave. 24v، office 318) Kazan (lane Odinoprovka Grivki المبنى 10 ، محطة مترو "Kozya Sloboda" أيضًا شارع Dekabristov ، d. 85 "B" Business Center "Relita" office 411) Kamensk-Uralsky (Prospect Pobedy 56) Kemerovo (st. 401) Kiev (Olevskaya str. 9 apt .4 (الوصول عن طريق الاتصال المسبق) Komsomolsk-on-Amur (شارع Shikhanova 10 ، مكتب 1 مدخل من Komsomolskaya من نهاية المبنى.) Kostroma (Prospect Mira 51 ، مكتب 15) Krasnodar (شارع Krasnaya 124 مكتب 302) كراسنويارسك (شارع كراسنويارسكي رابوتشي ، 120 مركز تسوق "كراسنوياري") لفيف (ميدان سوبورنا 12 أ) ماخاتشكالا (أكوشسكي 9 ظ) مياس (30 Let VLKSM Street 85) مينسك (كورجينيفسكوجو ، 26) موسكو (مترو: VDNKh ، شارع ياروسلافسكايا 10) ، مبنى 4 مكتب 10 6) موسكو (شارع سيمفيروبولسكي) موسكو (جلازوفسكي لين 5 ، مدخل القوس ، الباب على يسار محطة المترو: Smolenskaya-500m ، Kropotkinskaya-1km. ، Park Kultury-1km.) موسكو (م. تشيخوفسكايا ، بوشكينسكايا ، تفرسكايا. شارع Strastnoy ، 6 ، المبنى 1 ، Delovoy Tsentr ، مكتب 421) موسكو (Lobnya ، شارع Mayakovskogo ، 4A ، TP1 ، الطابق الثالث ، مكتب 301) موسكو (محطة مترو مولوديزنايا ، شارع يارتسفسكايا ، المبنى 27 ، المبنى 9 مركز أوزدوروفيتيلني "أربعة Elements ") موسكو (Krasnaya Presnya 38-45) موسكو (g. موسكو مترو تاغانسكايا مخرج شعاعي 3 ، 30 مترا من المترو. شارع. Bolshie Kamenshiki 1 ، 4th floor ، office 30) Moscow (metro Leninsky prospect، Vavilova 9A، building 6، office 10 B، 3rd floor) Moscow (metro Novoslobodskaya، Mendeleevskaya، Mayakovskaya، Belorusskaya (radial). 4th Tverskaya street -Yamskaya، 24 . المدخل عبر القوس ، ZOOMAGAZIN) محطة مترو موسكو (بيلوروسكايا (الدائري) ، على بعد 5 أمتار من مخرج المترو. ميدان تفرسكايا زاستافا ، 3 ، الطابق الثالث ، مكتب 321. بالقرب من محطة سكة حديد بيلوروسكي.) موسكو (M. ALTUFEVO ، شارع بسكوفسكايا 6) موسكو (موسكو ، راديو شارع 5 ، مبنى 4،2 طابق ، 201 مكتب (مبنى منفصل مكون من 3 طوابق)) نابريجني شيلني (شارع بوشكين 4 (45/05) ، مدخل 2 ، مكتب 2) نابريجني تشيلني ( شارع ش عثمانوفا ، 122 كيلو بايت 111 الطابق الأول) نالتشيك (نالتشيك ، شارع كيروف 292 أ ، الطابق الثاني ، مكتب 6) ناخودكا (شارع بوغرانيشنايا ، 6 ، مكتب 304) نيفينوميسك (مربع 50 عامًا 8 أكتوبر) نيفتيوجانسك ( 12 مبنى منطقة صغيرة 7) نيجنفارتوفسك (نيجنفارتوفسك ، شارع ميرا 31B.) نيجني نوفغورود (شارع كومينترنا 139 ، مكتب 603 (مركز أعمال أوريول)) نيجني نوفغورود (مترو جوركوفسكايا ، شارع كوستينا ، 3 ، BC "ساحة جديدة" ، الطابق الثاني ، مكتب 239) نيجني تاجيل (بالقرب من L. Krasnoarmeyskaya 42a، 3rd floor office 4) Nizhny Tagil (Nizhny Tagil، st. بابانينا 5 ، مكتب 1 ، كوشفا ، شارع جورنياكوفا. 2/11) نيكولاييف (شارع ريومين 5/1) نوفوروسيسك (منطقة كراسنودار ، نوفوروسيسك ، مستوطنة تسيمدولينا ، شارع السمكة الذهبية ، 15) نوفوروسيسك (شارع مراد أخيدزاك ، دي 4 ) نوفوسيبيرسك (شارع 42 Oktyabrskaya ، مكتب 601 ، مركز أعمال ، مبدئيًا ساحة لينين ، سينما ماياكوفسكي) نوفوسيبيرسك (شارع غوغول 33/1 .20 مترًا من محطة مترو مارشال بوكريشكينا ، مركز تسوق في غوغوليا.) نوفوترويتسك (شارع سوفيتسكايا ، D .144 شقة 26) نوفي يورنغوي (منطقة دروزبا الصغيرة ، مبنى 4/3 ، شقة 183) نوريلسك (احتمال لينينسكي ، 47 أ ، مكتب 79) نور سلطان (أستانا) (بيبيتشيليك 14 ، بي سي ماردين ، مكتب 708) أوديسا (ب -p الفرنسية 60 مصحة إعادة تأهيل متعددة الجوانب "SARTUS") Oktyabrsky (Microdistrict 32a، building 6، apt.88) أومسك (الطابق الأول من الشارع ، الشرفة اليمنى) Orsk (Lenin Ave. 93) Pavlodar (St. 71 مكتب 107) بيرم (سوفيتسكايا دي 52 مكتب 1) بيرم (شارع دروزبي ، مبنى 34 مكتب 305) بيت ياخ (منطقة صغيرة 5 ، مبنى 5) بياتيغورسك (شارع 295 قسم بندقية و 13 ، المبنى 2) روستوف أون دون (سوبورني لين 21 مكتب 10 ب) سالافات (شارع لينين ، المبنى 3 مكتب 209 ، الطابق الثاني) سمارة (106 شارع نوفو-سادوفايا ، مكتب 804 ، المصعد الأيسر ، الطابق الثامن) شارع . Petersburg (مترو: Vasileostrovskaya ، الخط 13 من جزيرة Vasilievsky ، 78 ، مكتب 182) سانت بطرسبرغ (مترو Dostoevskaya (5 أمتار) ومترو Vladimirskaya (300 متر) VLADIMIRSKY PASSAGE الطابق الثالث ، المدخل المركزي معرض الصور الأول ، العلاقات العامة. Vladimirsky 19) سانت بطرسبرغ (مترو Admiralteyskaya (10 أمتار) مترو نيفسكي (7 دقائق مشي). TC "ADMIRAL" Malaya Morskaya street، 4/1) سانت بطرسبرغ (مترو Sennaya ، مترو Sadovaya ، m Spasskaya 1 دقيقة سيرا على الأقدام ، Efimova شارع 1 ، الطابق 2 ، مكتب 4 ، مركز الأعمال "سينايا 4" ، المدخل إلى يسار مقهى "سيفر") ساراتوف (شارع بولشايا جورنايا ، 359 فولت ، مكتب رقم 3) سيفاستوبول (شارع أوتشاكوفتسيف 19 ، المركز "Plaza" ، الطابق الأرضي ، المكتب 29/2) Snezhinsk (شارع Zababakhina 19 أ) Sochi (Sochi ko. Donskaya house 15.) Sochi (st. Sovetskaya 42 office 204) Stavropol (st. Lomonosov 21 office 18) Sterlitamak ( 85 شارع خديبردين ، الطابق الثالث) سورجوت (30 عامًا من شارع بوبيدي ، 64) توبولسك (توبولسك ، 6 منطقة صغيرة ، منزل 11 ، مكتب 39 (مدخل من احتمال كومسومولسكي)) توجلياتي (40 عامًا بوبيدي ، 50 ، مكتب 212 أ ، TD Raduga 1st floor) Tomsk (Tomsk، Sovetskaya street 84) Tuymazy (Michurina street، 15 office 2) Tyumen (Herzen street، 72 office 214) Ulyanovsk (Ryabikova street، bld.73) Ust-Kamenogorsk (57 Gorky St.، Office 213) أوفا (ميدان فيرنيتورجوفا ، 6 (مركز الأعمال نيستيروف)) خاباروفسك (شارع بوستيشيفا ، 16 ofi ق 108) خانتي مانسييسك (G. خانتي مانسيسك ، ش. كارل ماركس 15 ، الطابق الثاني.) تشيليابينسك (بروسبكت بوبيدي 168 ، الطابق الثالث ، مكتب 36.) تشيركيسك (شارع لينين. 101) شيتا (شارع بابوشكينا. 104 ، مكتب 425) تشيشمي (كولتسيفايا 17) تشيشمي (دروزبي افي. ، 1 ب ) سويسرا (Arosio via Terra Sotto، 1 6939) Shymkent (47 Kolkhoznaya st.) Yuzhno-Sakhalinsk (21 Angarsky lane) Yakutsk (Dzerzhinsky st.8 / 3b) Yakutsk (Yakutsk) Yalta (Lenin embankment، 5a، SEC "Fountain، الطابق الرابع) ياناول (شارع سوفيتسكايا ، 23 ، مكتب رقم 8 ، مبنى بيريوزكا) ياروسلافل (57 شوروم) ياروسلافل (شارع تشكالوفا ، 2) بيرسك باشكورتوستان ()؟>

تأليه الالتهاب (من التأليه اليوناني - التأليه) ، 1) في اليونان الهلنستية وروما القديمة ، تأليه رجل الدولة ، البطل ، الإمبراطور ، اكتسابه للجوهر الإلهي. في عصر النهضة انتقل اسم الظاهرة إلى صورتها في الرسم والمسرح. بالمعنى الحديث ، التأليه هو مشهد تمجيد للبطل ، "صورة حية" مذهلة تعبر بشكل مرن عن الفكرة الرئيسية للمشهد ، والتي تنتهي بأداء موسيقي أو درامي. تم تطوير شكل التأليه (بالإضافة إلى أداء المدح ، الذي كان ، كما كان ، تأليه تم الكشف عنه في الوقت المناسب) في مسارح أوروبا الغربية ومسرح البلاط الروسي في القرنين السادس عشر والثامن عشر ؛ تطورت أيضًا في مسرح العصور الثورية - في فرنسا في نهاية القرن الثامن عشر ، في روسيا بعد ثورة أكتوبر. 2) بمعنى واسع - تمجيد ، تمجيد شخص ، حدث ، ظاهرة.

الموسوعة الحديثة. 2000 .

المرادفات:

شاهد ما هو "APOPHEOSIS" في القواميس الأخرى:

    - (اليونانية من تأليه إلى تأليه). 1) حساب الأبطال والأباطرة الرومان على حشد الآلهة. 2) لوحة تصور شخصاً مشهوراً على هيئة إله وثني. 3) صورة مهيبة تنتهي المسرح المسرحي. قاموس الكلمات الأجنبية ... ... قاموس الكلمات الأجنبية للغة الروسية

    سم … قاموس مرادف

    تأليه- أ م. apothéose f. 1. القراءة لمضيف الآلهة. Sl. 18. على تأليه هرقل. بيلسك. كوم 2 196. جمال القاعة الرئيسي هو البلافوند ، الذي رسم على القماش بالطلاء الزيتي للرسام ليموين ، ويمثل الوثن الهائل ... ... القاموس التاريخي للإغاليات الروسية

    تأليه- (من تأليه الإغريقي) ، 1) في اليونان الهلنستية وروما القديمة ، تأليه رجل الدولة ، البطل ، الإمبراطور ، اكتسابه للجوهر الإلهي. في عصر النهضة انتقل اسم الظاهرة إلى صورتها ... قاموس موسوعي مصور

    - (من التأليه اليوناني - التأليه) ، في البداية بين قدماء المصريين ، ثم بين اليونانيين والرومان ، وهو طقس مهيب لتأليه الحكام لمزاياهم الخاصة. التأليه ، الذي تحول مع مرور الوقت إلى عبادة الحكام ، عاد إلى ... ... موسوعة فلسفية

    - (من اليونانية. تأليه التأليه). قاموس موسوعي كبير

    مرض التصلب العصبي ، تأليه ، زوج. (تأليه التأليه اليوناني). 1. الطقس القديم لتقديم التكريم الإلهي للبطل ، الإمبراطور (IST.). 2. المديح العام الرسمي بشكل خاص لشخص ما ، والذي له طابع تتويج نشاطه (كتاب) ... قاموس أوشاكوف التوضيحي

    أفوفياسيس ، آه ، زوج. 1. تمجيد وتمجيد شخص ما ن. (الكتاب). 2. مشهد جماعي أخير مهيب لبعض العروض المسرحية (خاص). | صفة تأليه ، أوه ، أوه. قاموس أوزيجوف التوضيحي. S.I. Ozhegov ، N.Yu. شفيدوفا. 1949 ... ... قاموس أوزيجوف التوضيحي

    - (من تأليه التأليه اليوناني) في العصور القديمة ، احتفال تأليه رجال الدولة اليونانيين القدماء ، فيما بعد الأباطرة الرومان. في الأعمال المسرحية ، يُطلق على التأليه المرحلة الجماعية الاحتفالية النهائية للأداء أو ... ... العلوم السياسية. قاموس.

    جان أوغست دومينيك إنجرس. تأليه نابليون ، 1853 تأليه ، عفا عليها الزمن. تأليه ... ويكيبيديا

كتب

  • تأليه اللامأساس
  • تأليه اللامأساس ، شيستوف ليف. من المحتمل أن يكون كتاب "تأليه اللامأصلة" أشهر كتب ليف شيستوف ، وأكثرها فضيحة على الأقل. في ذلك ، يقوم بهجوم مباشر على المعرفة الملزمة عالميًا و ...

سم … قاموس مرادف

BAINKI ، دون تغيير. الفصل (طفولي). نايم. هل تريد حقنة؟ الاستلقاء بينكي. القاموس التوضيحي أوشاكوف. ن. أوشاكوف. 1935 1940 ... قاموس أوشاكوف التوضيحي

جعل / جعل bainki (شراء وداعا). زارج. رصيف بحري خدمة النقل. نايم. ماكسيموف ، 21 ... قاموس كبير للأقوال الروسية

أنا أسند. عامية عن حالة النوم (في حديث الأطفال أو في محادثة بين البالغين والأطفال). الثاني int. عامية تستخدم كعنصر من عناصر التهويدة. قاموس إفريموفا التوضيحي. تي اف افريموفا. 2000 ... القاموس التوضيحي الحديث للغة الروسية بواسطة إيفريموفا

بينكي- b ainki ، دون تغيير ... قاموس الهجاء الروسي

بينكي- دون تغيير ... القاموس الإملائي للغة الروسية

كثافة العمليات ، في func. حكاية. = وداعا (العلامة الثانية) ... قاموس موسوعي

بينكي- دولي؛ في func. حكاية. = شراء بنسبة 2) ... قاموس للعديد من التعبيرات

بينكي- ba / ink / i ، بين ... القاموس الصرفي الإملائي

كتب

  • Bainki، Tokmakova I.P .. في هذا الكتاب يمكنك قراءة أو حتى غناء التهويدات لطفلك. كتاب بقص ...
  • بينكي (محرر 2006) ، إيرينا توكماكوفا. في هذا الكتاب ، يمكنك قراءة أو حتى غناء التهويدات لطفلك. كتاب مع قطع. رقم ال ISBN: 5-9524-2404-X ...

يتيح لك استخدام تثبيت WordPress واحدًا لعدة مواقع في نفس الوقت. بالإضافة إلى ذلك ، يتلقى كل موقع جداول خاصة به في قاعدة البيانات ببادئة فريدة.

تعد الجداول التي تحتوي على بيانات المستخدمين المسجلين شائعة لجميع المواقع على الشبكة. هذه ميزة أكيدة ومن خلال التسجيل بمجرد أن تتمكن من الوصول إلى عدة مواقع. علاوة على ذلك ، قد يكون لنفس الحساب حقوق مختلفة في كل موقع. على سبيل المثال ، في أحد المواقع ، يمكن أن يكون المستخدم محررًا ، وفي موقع آخر ، يمكن أن يكون مسؤولاً.

في تثبيت نموذجي صفحة WordPressيؤدي التسجيل والتفويض وإعادة تعيين كلمة المرور إلى إخراج ملف wp-login.php.

  • wp-login.php - إذن
  • wp-login.php؟ action = تسجيل - تسجيل
  • wp-login.php؟ action = lostpassword - إعادة تعيين كلمة المرور

في وضع المواقع المتعددة ، يبدأ جوهر WordPress في التصرف بشكل مختلف قليلاً ، وعندما تنقر على wp-login.php؟ الإجراء = رابط التسجيل ، ستحدث إعادة توجيه إلى wp-signup.php. هذه هي صفحة التسجيل الخاصة بشبكتك التي يمتلكها WordPress بشكل افتراضي.

بالإضافة إلى تسجيل حسابات المستخدمين العادية ، يمكنك إنشاء موقع ويب جديد عليه ، إذا قام المسؤول المتميز بتمكين هذه الميزة في إعدادات الشبكة (مسؤول الشبكة → الإعدادات → إعدادات الشبكة).

في معظم السمات ، لا تبدو صفحة التسجيل جيدة جدًا. تستخدم العديد من الأسطح أطر عمل CSS مثل Bootstrap وفئاتها الخاصة لتصميم عناصر مختلفة على الصفحات ، لذلك من الصعب كتابة HTML واحد يناسب الجميع.

لكن لا تيأس إذا بدت الصفحة غير مرتبة. يعد ملف wp-signup.php رائعًا في البداية ، عندما لا يكون لديك الوقت للعمل من خلال كل تفاصيل الموقع - يمكنك التركيز على صفحات ومحتويات أخرى أكثر أهمية.

عندما تكون جاهزًا لإنشاء صفحة التسجيل الخاصة بك ، سيكون wp-signup.php نموذجًا جيدًا ومثالًا جيدًا لمساعدتك في فهم مجموعة الوظائف التي يوفرها WordPress للتعامل مع مدخلات المستخدم والتحقق من صحتها وإنشاء حسابات جديدة.

الموقع الرئيسي للشبكة

بشكل افتراضي ، يفتح WordPress صفحة تسجيل (wp-signup.php) على المجال الرئيسي (الموقع) للشبكة. ومع ذلك ، يمكنك إنشاء صفحات تسجيل لكل موقع على الشبكة ، حتى لو كان لديهم سمة.

سننظر في الحالة التي تستخدم فيها جميع المواقع على الشبكة نفس الموضوع ، ولكن لكل منها صفحة تسجيل. تختلف المواقع في اللغة (الإنجليزية والروسية) ، لذلك سيتم عرض صفحة التسجيل باللغة "الأم" للموقع. إذا كانت المواقع تستخدم سمات مختلفة ، فسيعتمد كل شيء على نوع السمات التي هي عليها ، سواء كان التصميم نفسه يناسبها (موقف ممتاز يمكن أن يدفعك لتوحيد جميع السمات الخاصة بك) أو ما إذا كان الأمر يستحق العمل على الصفحات بشكل فردي.

بديل لـ function.php

ترتيب الملف

يمكن أن تحتوي ملحقات MU على أي عدد من الملفات والبنية التي تبدو منطقية بالنسبة لك. أنا متمسك بشيء مثل هذا التسلسل الهرمي:

| مو | | load.php | | شبكة سيلينا | | | تسجيل | | | | plugin.php | | | ... | | | jetpack | | | | plugin.php

يتضمن ملف load.php الترجمات وجميع "الملحقات" الضرورية:

// تحميل ترجمات MU plugins load_muplugin_textdomain ("selena_network"، "/ selena-network / languages ​​/")؛ // تتطلب الوظائف لصفحة التسجيل WPMU_PLUGIN_DIR. "/selena-network/signup/plugin.php" ؛ // ملحق آخر // يتطلب WPMU_PLUGIN_DIR ...

توجد مجلدات البرنامج المساعد داخل دليل selena-network. لكل منها plugin.php الخاص به ، والذي نقوم بتضمينه في load.php. يمنح هذا المرونة والقدرة على تعطيل وتمكين المكونات الفردية على الفور في مشروع عمل في حالة الطوارئ.

صفحة التسجيل

بعد معرفة مكان وكيفية كتابة الكود ، يمكننا المتابعة لإنشاء صفحة التسجيل.

لنقم بإنشاء صفحة بالعنوان example.org/signup/ من خلال واجهة عادية. كعنوان ، يمكنك استخدام أي عنوان URL يبدو مناسبًا لمشروعك.

إعادة التوجيه إلى صفحة التسجيل المطلوبة

لكي يتعرف WordPress على صفحة التسجيل الجديدة الخاصة بنا ويعيد التوجيه إليها ، عند النقر على رابط "تسجيل" ، يتم استخدام مرشح wp_signup_location. يمكن العثور عليه داخل ملف wp-login.php وهو مسؤول عن إعادة التوجيه الافتراضية إلى wp-signup.php.

حالة "تسجيل": if (is_multisite ()) (wp_redirect (application_filters ("wp_signup_location"، network_site_url ("wp-signup.php"))) ؛ خروج ؛ // ...

كما تتذكر ، تفتح صفحة التسجيل افتراضيًا على المجال الرئيسي للشبكة. هذا هو سبب استخدام network_site_url () هنا.

دعنا نضيف المعالج الخاص بنا إلى عامل التصفية في mu-plugins / selena-network / signup / plugin.php ، والذي سيعيد عنوان صفحة التسجيل على الموقع الحالي:

الوظيفة selena_network_signup_page ($ url) (return home_url ("signup") ؛) add_filter ("wp_signup_location"، "selena_network_signup_page"، 99) ؛

selena_network هي البادئة التي أستخدمها في أسماء جميع الوظائف داخل مكونات MU الإضافية على موقعي لتجنب الاصطدامات ، يجب استبدالها ببادتي الفريدة. المرشح له أولوية 99 لأن بعض المكونات الإضافية مثل bbPress و BuddyPress قد تستبدل عنوان URL هذا بعناوينها (يتم تحميل مكونات MU في وقت أبكر من المكونات الإضافية العادية ، انظر أعلاه).

لاحظ أنه يتم استخدام home_url () ، والذي ، بخلاف network_site_url () ، يعرض عنوان الموقع الحالي ، وليس الموقع الرئيسي للشبكة.

وظائف wp-signup.php

يحتوي ملف wp-signup.php على الكثير من الوظائف والتعليمات البرمجية. لرؤية الصورة الكبيرة ، يمكنك استخدام طي الكود. هذا يسمى عادة "طي الكود" في اللغة الإنجليزية.

في بداية الملف يتم إنتاج من 1 إلى 80 سطرًا (في الإصدار 4.1.1) الشيكات المختلفةوعرض "بداية" الصفحة باستخدام get_header ().

بعد ذلك ، تم التصريح عن العديد من الطرق ، وقبل أن نبدأ العمل معهم ، من الجدير فهم وظيفة كل وظيفة. غالبًا ما يستخدم الكثير منهم وظائف أخرى بداخلها البادئة wpmu_ ، وكلها معلن عنها في ملف wp-include / ms-function.php. يصعب فهم هذا القسم دون رؤية الكود بنفسك. فيما يلي وصف موجز للوظائف الرئيسية في حالة وجود مشاكل.

  • wpmu_signup_stylesheet () - إخراج CSS إضافي على صفحة التسجيل.
  • show_blog_form () - حقول تسجيل الموقع (العنوان والاسم وإمكانية الرؤية لمحركات البحث).
  • Validate_blog_form () - تحقق من عنوان الموقع الذي تم إدخاله واسمه باستخدام wpmu_validate_blog_signup ().
  • show_user_form () - حقول تسجيل المستخدم (تسجيل الدخول وعنوان البريد الإلكتروني).
  • Validate_user_form () - التحقق من صحة تسجيل الدخول وعنوان البريد الإلكتروني اللذين تم إدخالهما. البريد باستخدام wpmu_validate_user_signup ().
  • signup_another_blog () - الحقول الخاصة بتسجيل مواقع جديدة باستخدام show_blog_form () للمستخدمين المسجلين بالفعل على الموقع.
  • Validate_another_blog_signup () - للتحقق من صحة عنوان url وعنوان الموقع باستخدام validate_blog_form ().
  • Signup_user () هي الوظيفة الرئيسية لعرض حقول صفحة التسجيل.
  • Validate_user_signup () - للتحقق من صحة اسم المستخدم وعنوان البريد الإلكتروني. البريد باستخدام validate_user_form ().
  • signup_blog () - الحقول الخاصة بإدخال العنوان والاسم وإمكانية رؤية الموقع (الخطوة الثانية من التسجيل) باستخدام show_blog_form ().
  • Validate_blog_signup () - للتحقق من صحة تسجيل الدخول وعنوان البريد الإلكتروني. البريد والعنوان واسم الموقع.

في الجزء السفلي من ملف wp-signup.php (من السطر 646 في الإصدار 4.1.1) ، المنطق الرئيسي لصفحة التسجيل ، والذي يستخدم جميع الطرق الموضحة أعلاه. لا يتم نقل هذا الجزء من الكود إلى دالة. في النهاية ، يتم استدعاء get_footer ().

انسخ وظيفة ملف wp-signup.php

بعد ذلك ، سنصف إجراء نسخ wp-signup.php في ملحقات MU وإجراء تغييرات على "fork". ربما لا يبدو هذا أفضل الطريق الصحيح... بدلاً من ذلك ، يمكنك كتابة التحقق من صحة النموذج الخاص بك وعرض الوظائف من البداية باستخدام الفئات بدلاً من الوظائف العادية. في رأيي ، يحتوي ملف wp-signup.php بالفعل على كل المنطق الضروري لصفحتنا ، كل ما تبقى هو إجراء تغييرات صغيرة.

عند تحديث WordPress ، يتغير wp-signup.php من وقت لآخر ، لكن هذا لا يعني أنه مع كل إصدار سيكون عليك مزامنة fork. تعمل الوظائف داخل wp-signup.php بشكل أساسي في إخراج HTML فقط ، والتحقق من صحة البيانات ، وإنشاء الحسابات والمواقع ، وتشارك الطرق ذات البادئة wpmu_ ، المعلنة في ms-function.php.

لنبدأ في إنشاء وظيفة ستعرض نموذج التسجيل على الصفحة. للقيام بذلك ، انسخ wp-signup.php من جذر WordPress إلى mu-plugings / selena-network / signup /. دعنا نربطها داخل mu-plugins / selena-network / signup / plugin.php).

يتطلب WPMU_PLUGIN_DIR. "/selena-network/signup/wp-signup.php" ؛

دعنا نزيل جميع عمليات التحقق المطلوبة وغير الضرورية من بداية الملف المنسوخ. في الإصدار 4.1.1 ، هذا هو كل الكود من 1 إلى 80 سطرًا.

نحن الآن جاهزون لإنشاء الوظيفة الرئيسية لعرض نموذج التسجيل. للقيام بذلك ، انقل كل المنطق من السطر 646 إلى نهاية الملف إلى دالة تسمى selena_network_signup_main. في النهاية ، سنزيل الإغلاق الإضافيين

(الخطان 722 و 723) ، بالإضافة إلى استدعاء get_footer ().

في selena_network_signup_main () الذي تم إنشاؤه حديثًا ، في البداية ، نعلن عن المتغير العام active_signup ، والذي تستخدمه جميع الطرق الأخرى من هذا الملف. ودعنا نضيف استدعاءً إلى الحدث before_signup_form ، الذي أزلناه من بداية الملف.

الوظيفة selena_network_signup_main () (global $ active_signup ؛ do_action ("before_signup_form") ؛ // ...)

الآن كل ما تبقى هو تغيير التصميم في جميع الأماكن التي يكون فيها ذلك ضروريًا وتكون صفحة التسجيل جاهزة.

إخراج استمارة التسجيل

هناك خياران على الأقل هنا. أكثر طريقة ملائمة- إنشاء رمز قصير ووضعه على الصفحة باستخدام محرر عادي.

// إنشاء رمز قصير network_signup add_shortcode ("network_signup" ، "selena_network_signup_main") ؛

الخيار الثاني هو إنشاء قالب صفحة page-signup.php في مجلد القالب الفرعي. بدلاً من كلمة "اشتراك" ، يمكنك استخدام معرّف فريد مخصص للصفحة. داخل القالب ، أضف التخطيط المطلوب واستدعِ selena_network_signup_main () في المكان الصحيح.

نتيجة لذلك ، تبدو صفحة التسجيل الخاصة بي أفضل وأنظف بكثير.

صفحة التنشيط

بواسطة WordPress الافتراضيتقليديا يقسم عملية التسجيل في Multisite إلى خطوتين - ملء نموذج على الموقع وتفعيل حساب عند النقر على الرابط المرسل إلى البريد الإلكتروني... بعد ملء النموذج الذي تم إنشاؤه في القسم السابق ، يرسل WordPress بريدًا إلكترونيًا يحتوي على تعليمات صغيرة ورابط لتنشيط حسابك.

يعد ملف wp-active.php الموجود في الدليل الجذر لـ WordPress مسؤولاً عن عرض صفحة التنشيط. يمكن أيضًا تغيير ملف wp-active.php تمامًا. تشبه هذه العملية ما فعلناه بالفعل من أجل ملف wp-signup.php.

لنقم بإنشاء صفحة example.org/activate/ من خلال واجهة عادية. استخدم أي عنوان URL تجده مناسبًا للعنوان.

لنقم بنسخ ملف wp-active.php إلى ملحقات MU الخاصة بنا ونوصلها بـ mu-plugins / selena-network / signup / plugin.php.

يتطلب WPMU_PLUGIN_DIR. "/selena-network/signup/wp-activate.php" ؛

لا يوجد الكثير من المحتوى بالداخل ، على عكس ملف wp-signup.php. يقوم الملف بالعملية الوحيدة - فهو ينشط الحساب إذا تم استلام المفتاح الصحيح ويعرض رسالة خطأ أو اكتمال العملية بنجاح.

دعنا نزيل جميع عمليات التحقق غير الضرورية ونطلب - من 1 إلى 69 سطرًا في WordPress 4.1.1. في النهاية ، دعنا نحذف استدعاء get_footer (). انقل باقي المحتوى إلى وظيفة selena_network_activate_main ().

من المثير للاهتمام ملاحظة أنه تم الإعلان هنا عن ثابت WP_INSTALLING قبل تحميل WordPress (wp-load.php). وجوده يجعل WordPress لا يقوم بتحميل الإضافات.

كما في حالة صفحة التسجيل ، كل ما تبقى هو تصحيح الشكل عند الضرورة. يمكنك أيضًا تغيير نص الرسائل المعروضة (في هذه الحالة ، لا تنس إضافة المجال النصي لملحقات MU إلى جميع وظائف المترجم ، افتراضيًا لا يتم تثبيته في أي مكان).

يمكن استخدام الوظيفة الجاهزة في صفحة مُنشأة مسبقًا عبر رمز قصير أو قالب منفصل في قالب فرعي.

رسائل البريد الإلكتروني التنشيط مع الروابط الصحيحة

صفحة التنشيط جاهزة للعمل ، لكن WordPress لا يعرف عنها وسيظل يرسل رسائل بريد إلكتروني للتفعيل تحتوي على رابط إلى wp-active.php. على عكس wp-signup.php ، لا يوجد مرشح هنا يسمح لك بتغيير العنوان. بدلاً من ذلك ، تحتاج إلى كتابة وظيفتك الخاصة التي سترسل رسائل بريد إلكتروني تحتوي على الروابط الصحيحة.

وقت تعبئة النموذج وإرساله على الصفحة التسجيل في ووردبريسيدعو wpmu_signup_ المستعمل() أو wpmu_signup_ مقالات() حسب نوع التسجيل. كلتا الوظيفتين تخلقان دخول جديدفي جدول wp_signups ، يملأه بالمحتوى الضروري ، من بينها مفتاح تنشيط الحساب.

ثم ، بناءً على الوظيفة ، يتم استدعاء wpmu_signup_ المستعمل _notification () أو wpmu_signup_ مقالات _تنبيه (). كلتا الوظيفتين لهما وظائف متشابهة - فهما تنشئان وترسلان بريدًا إلكترونيًا مع ارتباط تنشيط ، لكنهما تقبلان وسيطات مختلفة. كلاهما لهما عوامل تصفية "لاعتراض" الحدث.

If (! Apply_filters ("wpmu_signup_user_notification"، $ user، $ user_email، $ key، $ meta)) إرجاع خطأ؛

لتنشيط الحسابات مع إنشاء مدونة:

If (! Apply_filters ("wpmu_signup_blog_notification"، $ domain، $ path، $ title، $ user، $ user_email، $ key، $ meta)) (إرجاع false؛)

كل ما تبقى هو كتابة معالجاتك الخاصة ، والتي من خلالها ترسل رسائل البريد الإلكتروني عبر wp_mail () ، وفي النهاية ، تأكد من إعطاء رسالة كاذبة حتى لا يرسل WordPress بريدًا إلكترونيًا للتفعيل مرتين - أحدهما لك والآخر افتراضي بريد إلكتروني برابط إلى wp-active.php.

الوظيفة selena_network_wpmu_signup_user_notification ($ user، $ user_email، $ key، $ meta = array ()) (// إنشاء رأس ونص ورؤوس البريد الإلكتروني // ... // أرسل البريد الإلكتروني أو أضف مهمة Cron لإرسال بريد إلكتروني wp_mail ($ user_email، wp_specialchars_decode ($ subject)، $ message، $ message_headers)؛ // أرسل خطأ لمنع WordPress من إرسال بريد التفعيل مرتين إرجاع خطأ ؛) add_filter ("wpmu_signup_user_notification"، "selena_network_wpmu_signup) ؛

إذا كنت ترسل رسائل بريد إلكتروني عبر خادم SMTP أو كان عدد التسجيلات مرتفعًا جدًا ، فيجب أن تفكر في عدم إرسال رسائل البريد الإلكتروني على الفور. بدلاً من ذلك ، يمكنك إضافة Cron Tasks باستخدام WordPress Cron.

إغلاق الوصول إلى wp-signup.php و wp-active.php

بعد إنشاء صفحات التسجيل والتفعيل الخاصة بك ، قد تحتاج إلى إغلاق "النسخ الأصلية". على سبيل المثال ، إذا كانت هناك حقول إضافية في صفحة التسجيل يجب ملؤها. أيضًا ، تخضع العديد من مواقع WordPress لعمليات تسجيل البريد العشوائي.

لحل مشكلتين في خطوة واحدة ، يمكنك أن تطلب من Apache إرجاع 404 إذا حاولت فتح هذه الصفحات. للقيام بذلك ، تحتاج فقط إلى تسجيل بعض قواعد RewriteRule الإضافية في ملف التكوين الخاص بك أو htaccess.

RewriteEngine On RewriteBase / # معرفة التعبيرات العادية لن تكون أبدًا غير ضرورية :) RewriteRule ^ wp-signup \ .php - RewriteRule ^ wp-active \ .php - # BEGIN WordPress # لا تلمس قواعد WordPress الافتراضية :) # ... # END وورد

استنتاج

هناك العديد من الحلول لهذه المشكلة والعديد من "المشاكل" الأخرى المتعلقة بـ WordPress على الإنترنت. على سبيل المثال ، لإنشاء صفحات التسجيل والتفعيل ، يقترح البعض إعادة كتابة ملف wp-signup.php الأصلي و wp-active.php. هذا لا يستحق القيام به ، لأنك إذا قمت بتحديث WordPress ، فستفقد جميع التغييرات التي تم إجراؤها على الملفات ، ولن تتمكن أيضًا من التحقق من التكامل الأساسي مع.

عند تطوير أي إضافة أو سمة أو حل ، يجب أن تأخذ بعض الوقت لمعرفة ما يحدث داخل WordPress. هناك العديد من أدوات التصحيح المفيدة لهذا الغرض.

ملاحظة.

لتعيين أدوار مختلفة تلقائيًا للمستخدمين الجدد ، يمكنك استخدام المكون الإضافي إدارة مستخدم متعدد المواقع.

إذا كانت لديك أي أسئلة أو صعوبات أثناء إنشاء صفحات التسجيل والتفعيل بعد قراءة المقال ، فاترك تعليقًا وسنجيب بالتأكيد.

27.03.2015 27.03.2015

مطور ووردبريس. يحب الترتيب في كل شيء ويفهم الأدوات الجديدة. مستوحى من هندسة مكونات Symfony.

  • نقوم بإنشاء صفحة التسجيل الخاصة بنا للمواقع المتعددة بدلاً من wp-signup.php القياسي.

    في تثبيت WordPress نموذجي ، تعرض صفحة التسجيل (تسجيل الدخول ، إعادة تعيين كلمة المرور) ملف wp-login.php.

    • /wp-login.php - إذن
    • /wp-login.php؟action=register - التسجيل
    • /wp-login.php؟action=lostpassword - إعادة تعيين كلمة المرور

    توجد شروط منفصلة للمواقع المتعددة في ملف wp-login.php. لذلك ، عند النقر فوق الرابط /wp-login.php؟action=register في موقع متعدد المواقع ، سيعيد WordPress التوجيه إلى صفحة /wp-signup.php. في العديد من المظاهر ، لا تبدو الصفحة جذابة للغاية ، لذلك سنقوم بتصميم الصفحة الخاصة بنا.

    الموقع الرئيسي للشبكة

    بشكل افتراضي ، يفتح WordPress صفحة تسجيل (wp-signup.php) على المجال الرئيسي (الموقع) للشبكة. ومع ذلك ، يمكن للمرء أن يفعل صفحة منفصلةالتسجيلات لكل موقع على الشبكة ، حتى لو كان لديهم مواضيع مختلفة. سننظر في الحالة عندما يكون لجميع المواقع على الشبكة صفحة تسجيل خاصة بها ، ولكن يتم استخدام نفس الموضوع وتختلف المواقع في اللغة فقط. إذا كنت تستخدم سمات مختلفة ، فستحتاج إلى كتابة المزيد من التعليمات البرمجية.

    وظائف. php؟

    رقم. يبدو أن اسم هذا الملف مذكور في كل مقالة من WordPress. في حالتنا ، نظرًا لأن وظيفة التسجيل مصممة للعديد من المواقع ، فمن المنطقي نقلها إلى مكونات MU الإضافية التي يتم تحميلها عند فتح أي موقع.

    استطرادا غنائي

    تجدر الإشارة إلى أنه يتم تحميل ملحقات MU قبل الإضافات العادية وقبل تحميل نواة WordPress بالكامل ، لذا فإن استدعاء بعض الوظائف يمكن أن يؤدي إلى أخطاء فادحة في PHP. هذا التحميل "المبكر" له مزاياه أيضًا. على سبيل المثال ، داخل أي سمة ، لا يمكنك التمسك ببعض الإجراءات التي تم تشغيلها حتى قبل تحميل ملف function.php من السمة. مثال على ذلك هو الإجراءات من البرنامج المساعد Jetpack للنموذج jetpack_module_loaded_related-posts (ذات الصلة - اسم الوحدة) والتي يمكن من خلالها تتبع نشاط الوحدات في Jetpack. من المستحيل "التشبث" بهذا الإجراء من ملف السمة ، لأن الإجراء قد تم تشغيله بالفعل قبل تحميل السمة - يتم تحميل الإضافات قبل السمات. ألق نظرة على الصورة العامة للنظام تنزيلات WordPressيمكن العثور عليها في صفحة مرجع الإجراء في التعليمات البرمجية.

    ترتيب الملف

    يمكن أن تحتوي ملحقات MU على أي عدد من الملفات وأي بنية تبدو منطقية بالنسبة لك. أنا متمسك بشيء مثل هذا التسلسل الهرمي:

    | -mu-plugins | - | -load.php | - | - |-سيلينا-شبكة | - | - | - | -تسجيل | - | - | - | - | -plugin.php | - | - | - | - | -... | - | - | - | -jetpack | - | - | - | - | -plugin.php

    جميع "المكونات الإضافية" الضرورية لشبكتنا متصلة في ملف load.php:

    // تحميل Traslates لجميع الوظائف الإضافية load_muplugin_textdomain ("selena_network"، "/ selena-network / languages ​​/") ؛ // يتطلب الاشتراك في الشبكة WPMU_PLUGIN_DIR. "/selena-network/signup/plugin.php" ؛ // تتطلب ملحقات أخرى // WPMU_PLUGIN_DIR ...

    يتم تخزين مجلدات البرنامج المساعد داخل مجلد selena-network ، ولكل منها plugin.php الخاص به ، والذي نقوم بتضمينه في load.php. يمنحك هذا المرونة والقدرة على إيقاف تشغيل الأشياء وتشغيلها بسرعة.

    عنوان صفحة التسجيل

    لتحديد عنوان صفحة التسجيل ، يتم استخدام عامل التصفية wp_signup_location. يمكن العثور عليه داخل ملف wp-login.php وهو مسؤول عن إعادة التوجيه إلى wp-signup.php.

    حالة "تسجيل": if (is_multisite ()) (wp_redirect (application_filters ("wp_signup_location"، network_site_url ("wp-signup.php"))) ؛ خروج ؛

    دعنا نضيف وظيفتنا إلى mu-plugins / selena-network / signup / plugin.php ، والتي ستعيد عنوان صفحة التسجيل على الموقع الحالي:

    الوظيفة selena_network_signup_page ($ url) (عودة home_url (). "/ Signup /" ؛) add_filter ("wp_signup_location"، "selena_network_signup_page"، 99) ؛

    selena_network هي البادئة التي أستخدمها في أسماء جميع الوظائف داخل مكونات MU الإضافية على موقعي لتجنب الاصطدامات ، يجب استبدالها ببادتي الفريدة. المرشح له أولوية 99 لأن بعض المكونات الإضافية مثل bbPress و BuddyPress قد تستبدل عنوان URL هذا بعناوينها (يتم تحميل مكونات MU في وقت أبكر من المكونات الإضافية العادية ، انظر أعلاه). لاحظ أنه يتم استخدام home_url () بدلاً من network_site_url () لإبقاء الزائر في نفس المجال. يمكن استخدام أي عنوان URL كعنوان.

    قم بإنشاء صفحة

    لنقم الآن بإنشاء صفحة بالعنوان site.com/signup/ من خلال الواجهة المعتادة ، وفي مجلد السمة الفرعية القالب الخاص بنا صفحة جديدة- page-signup.php. يمكن استخدام معرّف فريد بدلاً من كلمة "اشتراك".

    داخل القالب الجديد ، تحتاج إلى استدعاء دالة selena_network_signup_main () ، والتي ستعرض نموذج التسجيل.

    وتجدر الإشارة إلى أن العملية بأكملها باستخدام القوالب غير مطلوبة وبدلاً من ذلك يمكنك إنشاء الرمز القصير الخاص بك ، والذي سيستدعي أيضًا وظيفة selena_network_signup_main ().

    wp-signup.php و wp-active.php

    لنبدأ الآن في إنشاء وظيفة ستعرض نموذج التسجيل. للقيام بذلك ، انسخ ملفي wp-signup.php و wp-active.php من جذر WordPress إلى mu-plugings / selena-network / signup / (ولا تنس توصيلها داخل mu-plugins / selena-network / signup / plugin.php) ... من الصعب للغاية وصف المزيد من التلاعبات بالملفات ويستغرق وصفها وقتًا طويلاً ، لذلك سيتعين عليك القيام بها بنفسك. سوف أصف فقط ما يجب القيام به بالضبط ونشره ملفات المصدرمشروعك:

    1. في بداية الملف ، قم بإزالة جميع الطلبات واستدعاءات الوظائف والرموز الأخرى خارج الوظائف.
    2. أعد تسمية جميع الوظائف بإضافة بادئات فريدة للأسماء.
    3. لف الجزء السفلي من كود wp-signup.php في دالة selena_network_signup_main واكتب $ active_signup العام في البداية ؛ ...
    4. استبدل التصميم بالتخطيط الخاص بك في الأماكن الصحيحة.

    داخل ملف wp-active.php ، عليك أن تفعل الشيء نفسه تقريبًا:

    1. قم بإزالة جميع التعليمات البرمجية خارج الوظائف ، وقم بلف التخطيط في وظيفة منفصلة.
    2. قم بتغيير التخطيط عند الضرورة.

    ملف wp-active.php مسؤول عن صفحة تنشيط الحساب. كما هو الحال مع صفحة التسجيل ، تحتاج إلى إنشاء قالب منفصل لها ، تقوم بداخله باستدعاء الوظيفة من ملف wp-active.php.

    نرسل رسائل التفعيل

    صفحة التسجيل ترسل إلى الزائر بريدًا إلكترونيًا به رابط لتفعيل حسابه. بشكل افتراضي ، يتم ذلك عن طريق وظيفة wpmu_signup_user_notification () من ملف ms-function.php. يمكن استعارة وظائفها من أجل وظيفتك. سبب التوقف عن استخدام هذه الميزة هو أنها ترسل رابط تنشيط الحساب من wp-active.php. يمكنك "تعطيل" هذه الوظيفة باستخدام عامل التصفية wpmu_signup_user_notification ، وإعطاء كلمة خطأ (إذا لم تقم بذلك ، فسيتم إرسال خطاب التنشيط مرتين ، حسنًا ، في الواقع ، حرفان مختلفان).

    الوظيفة armyofselenagomez_wpmu_signup_user_notification ($ user، $ user_email، $ key، $ meta = array ()) (// ... // Code from function wpmu_signup_user_notification () wp_mail ($ user_email، wp_specialchars_decode ($ message_headers) إرجاع خطأ ؛) add_filter ("wpmu_signup_user_notification"، "armyofselenagomez_wpmu_signup_user_notification"، 10، 4)؛

    نتيجة لذلك ، تبدو صفحة التسجيل في موضوع سيلينا أنظف وأكثر دقة.

    استنتاج

    هناك العديد من الطرق الأخرى غير الصحيحة لفعل الشيء نفسه على الإنترنت - عمليات إعادة توجيه Apache ونماذج AJAX التي لن تعمل بدون Java Script وما إلى ذلك من موقع الويب الخاص بك.

    لاحظ أنه يجب عليك تحرير الملفات بعناية ومحاولة عدم الانحراف كثيرًا عن الأصل ، بحيث إذا قام WordPress في المستقبل بتغيير ملفات wp-signup.php و wp-activ.php ، فسيكون من الأسهل مقارنتها للعثور على التغييرات.

    لا تنسى أن تبحث في مصدرجميع الوظائف الموضحة أعلاه لفهم ما يحدث داخل الكود بشكل كامل وكيف.

    علاوة. حماية مرسلي الرسائل الاقتحامية

    حتى أصغر مواقع WordPress تخضع لعمليات تسجيل البريد العشوائي المتكررة. يمكنك كتابة شروط لا حصر لها لتصفية الروبوتات ، وغالبًا ما تكون أشبه بمحاولة إنشاء ذكاء اصطناعي 🙂 في حالة المواقع المتعددة ، ساعدتني إعادة التوجيه المعتادة في Apache كثيرًا ، والتي عند فتح /wp-signup.php و / wp- acitvate.php ، لقد طلبت 404 (أنا لست خبيرًا في تكوين Apache ، لذلك قد لا تكون قواعدي صحيحة جدًا).

    RewriteEngine On RewriteBase / RewriteRule ^ wp-signup \ .php - إعادة كتابة القاعدة ^ wp-active \ .php - # BEGIN WordPress # لا تلمس قواعد WordPress افتراضيًا :) # ... # END WordPress

    P. S. أحاول أن أصف بأكبر قدر ممكن من التفاصيل بعض الأشياء الخاصة بالأطراف الثالثة ، لأنه عندما بدأت ، لم يكن هناك في بعض الأحيان من يطالب ويشرح الكثير من الأشياء. أعتقد أيضًا أن مثل هذه النصائح الصغيرة حول المواد الأخرى ستدفع الشخص لتعلم شيء جديد وتوسيع مجال معرفته. RewriteRule استخدام إدخالات التعبيرات العادية، فهي ليست معقدة على الإطلاق ، على سبيل المثال ، الحرف ^ يعني بداية السطر.