Pods: المشكلة الفعلية: يجب عدم السماح بإضافة الأسماء المحجوزة

تم إنشاؤها على ١٣ يوليو ٢٠١٩  ·  20تعليقات  ·  مصدر: pods-framework/pods

صف الخلل
أول مرة تستخدم فيها البودات. انتقل إلى هذا (تمت إعادة إنتاجه باستخدام Master): classes/PodsAPI::save_pod يخرج بكفالة قبل استدعاء cache_flush_pods عندما يواجه أي أخطاء عند حفظ الحقول المضافة حديثًا. بينما يبدو أن الحقول الأخرى لا تزال محفوظة في قاعدة البيانات ، فإنها لن تكون مرئية للمستخدم النهائي حتى يتم مسح ذاكرة التخزين المؤقت.

رقم سطر المراجعة الحالي 2356 :

if ( ! empty( $errors ) ) {
    return pods_error( $errors, $this );
}

$this->cache_flush_pods( $pod );

(ملاحظة: بقدر ما أستطيع أن أقول أنه لا يبدو أن هناك أي خطأ في التعامل مع الفشل في حفظ الحقول.)

لإعادة إنتاج
خطوات إعادة إنتاج السلوك:

  1. قم بتحرير حجرة
  2. إضافة حقل باسم "foobar"
  3. أضف حقلاً باسم "الاسم" (أو "post_title" ، أو اسم حقل موجود)
  4. حفظ الجراب

لاحظ: لا يظهر أي من الحقول المضافة حديثًا بعد الحفظ

Reproduced Bug Documentation

ال 20 كومينتر

يقوم برنامج Issue-Label Bot تلقائيًا بتطبيق التصنيف Type: Bug لهذه المشكلة بثقة تبلغ 0.98. يرجى وضع علامة على هذا التعليق بـ: thumbsup: or: thumbs down: لإعطاء ملاحظات bot الخاصة بنا!

الروابط: الصفحة الرئيسية للتطبيق ولوحة التحكم والرمز الخاص بهذا الروبوت.

+1 وجود نفس المشكلة. تعيين الأسماء المحفوظة لا يعطي خطأ.

راجع # 4122 يجب تطبيق هذا على أسماء الحقول ، والتصنيف ، وأنواع البريد ، وما إلى ذلك. يجب ألا يتمكن شخص ما من كتابة أي اسم حقل أو نوع لاحق أو تصنيف موجود في قائمة حقول الأسماء المحجوزة.

لقد قدمت تقرير خطأ رقم 5440 حيث واجهت نفس المشكلة مع حقل يسمى "الحالة". ومع ذلك ، فإن "الحالة" ليست في قائمة الشروط المحجوزة لـ Wordpress. من الحالة المذكورة أعلاه ، يوجد "اسم" في تلك القائمة ، ولكن "foobar" ليس موجودًا. وينطبق الشيء نفسه على قائمة الكلمات المحجوزة في PHP.

قائمة Wordpress: (https://codex.wordpress.org/Reserved_Terms)
قائمة PHP https://www.php.net/manual/en/reserved.php

ربما تتدخل قائمة أخرى من الكلمات المحجوزة أيضًا؟

raoulunger هل جربت أحدث العلاقات العامة المتعلقة بالكلمات الرئيسية المحجوزة؟

تحرير: status ليست كلمة رئيسية محجوزة في WordPress ولكنها مخصصة لـ Pods حيث يتم استخدامها كأحد حقول كائن Pod. (لا يزال التحقيق في الوقت الحالي)

مرحبًا ، أرى أنك حطمت السؤال ؛-). شكرا على التحقيق!

نعم ، بعد التحقيق تبين أن status هو اسم مستعار لـ post_status داخل Pods (للاستخدام في Magic Tags وما إلى ذلك).
القائمة الكاملة للمفاتيح والأسماء المستعارة الافتراضية:

ID                     ==> id
post_title             ==> title & name
post_content           ==> content
post_excerpt           ==> excerpt
post_author            ==> author
post_date              ==> created & date
post_date_gmt
post_status            ==> status
comment_status
ping_status
post_password
post_name              ==> slug &  permalink
to_ping
pinged
post_modified          ==> modified
post_modified_gmt
post_content_filtered
post_parent            ==> parent
guid
menu_order
post_type              ==> type
post_mime_type
comment_count
comments

@ sc0ttkclarkjimtrue وأعتقد أن هذه المسألة يمكن أن تكون مغلقة، وافق؟

حسنًا ، هذا يوضح الأمور بقدر ما يتعلق الأمر بـ "الحالة" - شكرًا على اكتشاف ذلك ، وعلى القائمة!

لحل المشكلة الأوسع المتمثلة في استخدام الكلمات المحجوزة (هذا الموضوع ، وكذلك # 4122) ، يبدو أنه سيكون هناك بعض الخيارات:

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

بالمناسبة ، من السهل بالنسبة لي اقتراح كل هذا بالطبع ، حيث لا يمكنني المساعدة هنا حقًا - مهارات الترميز لدي محدودة للغاية ، آسف!

هتافات!

المعرف هو مجرد كلمة رئيسية محجوزة ، ولا أعتقد أنه يمكننا تغيير ذلك.
حول التحذيرات ، يتم عرضها حاليًا ولكن يتم ذلك من خلال AJAX (جانب الخادم) وليس مباشرة عند الكتابة. أعتقد أن هذا شيء سنضيفه في المستقبل ولكن ليس كإصدار صيانة.
التوثيق دائمًا فكرة جيدة. jimtrue هل يمكنك إنشاء صفحة مستند لهذا يمكنني استخدامها؟

لا يمكن إغلاقه حتى يتم توثيقه. أي من تلك "الأسماء المستعارة" التي لا تعمل في مجال إنشائها؟ على سبيل المثال "العنوان" الأم "وما إلى ذلك؟

هذا كل ما يمكن أن أجده حتى الآن (بصرف النظر عن الكلمات الأساسية لـ WP المذكورة بالفعل)

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

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

لم أتلق أي خطأ مرئي عندما قمت بتكرار المشكلة. إذا لم يكن هناك خطأ مرئي للمستخدم ، فهذه مشكلة.

هل اختبرت مع أحدث العلاقات العامة؟ # 5441
ضع في اعتبارك أن هذه الكلمات الأساسية المحجوزة مسموح بها لأسماء الحقول. ليس فقط من أجل Pods (CPT / Tax) ، انظر # 5428.

كما أنني لم أتلق رسالة خطأ (من أجل الارتباك). لم أختبر مع أحدث العلاقات العامة ، لأنني حقًا ليس لدي أدنى فكرة عن كيفية القيام بذلك (آسف مرة أخرى - أنا جديد تمامًا هنا).

في 19 آب (أغسطس) 2019 ، الساعة 17:50 ، كتب جوري هوغيفين [email protected] :

هل اختبرت مع أحدث العلاقات العامة؟ # 5443 https://github.com/pods-framework/pods/pull/5443
ضع في اعتبارك أن هذه الكلمات الأساسية المحجوزة مسموح بها لأسماء الحقول. ليس فقط من أجل Pods (CPT / Tax) ، راجع # 5428 https://github.com/pods-framework/pods/pull/5428 .

-
أنت تتلقى هذا لأنه تم ذكرك.
الرد على هذا البريد الإلكتروني مباشرة، مشاهدته على جيثب https://github.com/pods-framework/pods/issues/5420؟email_source=notifications&email_token=AM2NSKDD43ZU2JY47LPKRV3QFK6LTA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4TNDNQ#issuecomment-522637750 ، أو كتم موضوع https://github.com/ الإخطارات / إلغاء الاشتراك - المصادقة / AM2NSKESXEIVUY3PLHRRMW3QFK6LTANCNFSM4ICZDB7Q .

@ sc0ttkclarkjimtrue يمكن إغلاق هذا؟

إذا نقلنا مسح ذاكرة التخزين المؤقت قبل إرسال pods_error ، فيمكننا حل التركيز الرئيسي لهذه التذكرة.

ثابت في # 5459

عذرا ، رد الفعل المتأخر ، ولكن شكرا!

في 5 سبتمبر 2019 ، الساعة 14:27 ، كتب سكوت كينجسلي كلارك [email protected] :

مغلق # 5420 https://github.com/pods-framework/pods/issues/5420 عبر # 5459 https://github.com/pods-framework/pods/pull/5459 .

-
أنت تتلقى هذا لأنه تم ذكرك.
الرد على هذا البريد الإلكتروني مباشرة، مشاهدته على جيثب https://github.com/pods-framework/pods/issues/5420؟email_source=notifications&email_token=AM2NSKBMJPPMDU5DSLKEPWTQID3JNA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTOL3AQY#event-2610409539 ، أو كتم موضوع https://github.com/ الإخطارات / إلغاء الاشتراك - المصادقة / AM2NSKDMLL2WOT3F7ITJ47TQID3JNANCNFSM4ICZDB7Q .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات