Pods: البرنامج المساعد Yoast SEO

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

لا يتم حفظ عنوان SEO & الوصف
https://github.com/Yoast/wordpress-seo/issues/508

Integration Inactive Puntable Help Wanted Researched Bug

ال 18 كومينتر

في قضية Yoast SEO يمكنك قراءة:

أعتقد أن هذا يؤكد أنها مشكلة في المكوّن الإضافي Pods ، وليس مع WP SEO.

ربما وقت غير مناسب من register_taxonomy() ؟

تصحيح الأخطاء: تم تسجيل وظيفة "update_term () من فئة WPSEO_Taxonomy () في do_action () الخاص بـ WP $ wp_filter
ولكن لا يتم استدعاؤها

عند الحفظ في تصنيف مخصص يحدده Pods
يتم استدعاء save_taxonomy () PodsMeta مرتين

تصحيح الأخطاء: تم تسجيل وظيفة "update_term () من فئة WPSEO_Taxonomy () في do_action () الخاص بـ WP $ wp_filter
ولكن لا يتم استدعاؤها

هل حددت في أي نقطة (من حيث التوقيت) يربطون الحدث؟

في وقت "init".
كلاهما مسجل في do_action () الخاص بـ WP
ولكن بطريقة ما في ملف wp-include / plugin. php: 429 PodsMeta's save_taxonomy () يطلق عليه مرتين
و WPSEO_Taxonomy class 'update_term () تم استبعاده.

ربما تسبب pods_no_conflict_on () ذلك؟

ولكن بطريقة ما في ملف wp-include / plugin. php: 429 PodsMeta's save_taxonomy () يطلق عليه مرتين

سأرى ما إذا كان بإمكاني اكتشاف سبب هذا السلوك المعين وما إذا كان مرتبطًا.

شكرا جزيلا! أرى أنك تعرف كلا المكونين الإضافيين.

ما لدينا هنا هو خطأ خادع في WordPress: http://core.trac.wordpress.org/ticket/17817 لقد وفر لي عمل الساق الكثير من الوقت الذي كنت قد قضيته في البحث في مناطق غير ذات صلة. كان هذا غريبًا بما يكفي لتحري الخلل وإصلاحه لأنه كان مفيدًا بشكل لا يصدق.

كما وجدت ، يمكنك التعليق على المكالمة إلى pods_no_conflict_on ولم تعد المشكلة ظاهرة. لقد قمنا بلف Pods::save باستدعاءات عدم وجود تعارض لتجنب استدعاءات الإجراءات المتكررة التي قد تحدث بخلاف ذلك من خلال save() . ومع ذلك ، نظرًا لخلل WordPress ، عندما نزيل خطافات الإجراءات الخاصة بنا ، فإنه يأخذ أيضًا أي خطافات أخرى ذات أولوية أقل. يمكنك إعادة إنشاء هذا الموقف بنفسك في قالب فرعي أو مكون إضافي باستخدام الكود التالي:

add_action( 'edit_term', 'test_17817', 15, 3 );
function test_17817( $term_id, $tt_id, $taxonomy ) {
    remove_action( 'edit_term', 'test_17817', 15 );
}

لقد اخترت 15 كأولوية لهذا الاختبار لأنه يقع بين أولوية Pods البالغة 10 و Yoast's 99. مع هذا الرمز في function.php و Pods ، لا توجد مكالمات تعارض علقت على المشكلة ما زالت ظاهرة.

على جانب Yoast ، يمكنك أيضًا حل المشكلة عن طريق تغيير أولوية 99 للمكالمة add_action إلى 10 أو أقل.

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

ما زلنا نضع رؤوسنا معًا في هذا الأمر لأنه له تأثير أوسع على أنواع محتوى WordPress بشكل عام ، ونحن منخرطون بعمق في هذا المجال.

راجع للشغل ، لا شيء من هذه المعلومات هو إصلاح مقترح في هذه المرحلة. هذه مجرد تفاصيل عن الخطأ وكيف يظهر.

هذا حل مناسب لي:

add_action( 'edit_term', 'test_17817', 15, 3 );
function test_17817( $term_id, $tt_id, $taxonomy ) {
    // http://core.trac.wordpress.org/ticket/17817
    remove_action( 'edit_term', 'test_17817', 15 );
}

شكرا جزيلا.
أنا لا أفهم WP والترميز بما فيه الكفاية ، أنا مصحح أخطاء.

سأخرج remove_action من جسم الوظيفة وأترك ​​الوظيفة فارغة. كانت المكالمة remove_action هناك لتوضيح كيف يمكنك إنشاء بيان الخطأ دون أن تسبب Pods في ذلك. قد يؤدي وجود ذلك إلى تعقيد الأمور بالنسبة لك في المستقبل.

أعتقد أنه من الجيد أيضًا أن نوثق هنا أن العملية التي كنا نستخدمها هنا هي في الواقع ما أوصى به نواة WordPress (على الرغم من إجراء مختلف):

http://codex.wordpress.org/Plugin_API/Action_Reference/save_post#Avoiding_infinite_loops

اعذرني.
لماذا ربط edit_term عندما لا توجد حقول إضافية للتصنيف المخصص؟

لست متأكدًا مما إذا كان هناك تفسير وظيفي وراء ذلك ، أم أنه ببساطة "هكذا كتب في البداية". سؤال جيد ربما يستحق مشكلة جديدة بالنسبة لاعتبارات التحسين 3.0: عدم ربط الأشياء التي يمكننا تحديدها لسنا بحاجة إلى ربطها في ذلك الوقت.

هل هذه القضية لا تزال نشطة؟

هل سيتم إطلاق Pods v3 (حقل مكرر) على الإطلاق؟

szepeviktor يبدو أن هذا ليس له علاقة بهذا الموضوع.
في أي حال ، سيكون الإصدار الأول 2.8 (حقول المجموعة + مُعدِّل كامل لمشرف Pods).
بالنسبة إلى 2.9 الحقول القابلة للتكرار ، انظر: # 1095
لحقول الحلقة 3.0 ، راجع: # ​​1095

بالعودة إلى الموضوع ، حاولت إعادة إنتاج هذا ولا يبدو أن هذه مشكلة نشطة بعد الآن (كنت سألاحظ ذلك عندما أستخدم Yoast SEO في العديد من المشاريع أيضًا).

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