WPML

نظرة عامة على المشكلة

في بعض السيناريوهات، قد تواجه إضافة Advanced Custom Fields Multilingual (ACFML) تحذير PHP عند استخدام حقول ACF:

Attempt to read property "post_content" on null in plugins .../acfml/classes/class-wpml-acf-repeater-shuffle.php on line 249

حل بديل مؤقت

تم إصلاح هذه المشكلة في Advanced Custom Fields Multilingual 2.2.0. يحل التحديث المشكلة على موقعك، لذا لا تحتاج إلى هذا الحل البديل المؤقت إلا إذا لم تتمكن من التحديث بعد.

يُرجى التأكد من أخذ نسخة احتياطية كاملة من موقعك قبل المتابعة.

  • افتح الملف …/acfml/classes/class-wpml-acf-repeater-shuffle.php.
  • ابحث عن السطر 244.
  • استبدل:
    private function isChildOfRepeaterField( $key, $postId ) {
    	$acfFieldObject = get_field_object( $key, $postId );
    	if ( isset( $acfFieldObject['parent'] )
    		 && $acfFieldObject['parent'] > 0 ) {
    		$fieldParent        = get_post( $acfFieldObject['parent'] );
    		$fieldParentContent = maybe_unserialize( $fieldParent->post_content );
    		if ( isset( $fieldParentContent['type'] ) && 'repeater' === $fieldParentContent['type'] ) {
    			return true;
    		}
    	}
    	return false;
    }
  • بـ:
    private function isChildOfRepeaterField( $key, $postId ) {
        $acfFieldObject = get_field_object( $key, $postId );
        if ( isset( $acfFieldObject['parent'] ) ) {
            if ( is_numeric( $acfFieldObject['parent'] ) && $acfFieldObject['parent'] > 0 ) {
                $fieldParent = get_post( $acfFieldObject['parent'], $postId );
                if ( $fieldParent ) {
                    $fieldParentContent = maybe_unserialize( $fieldParent->post_content );
                    if ( isset( $fieldParentContent['type'] ) && 'repeater' === $fieldParentContent['type'] ) {
                        return true;
                    }
                }
            } elseif ( is_string( $acfFieldObject['parent'] ) ) {
                $fieldParent = get_field_object( $acfFieldObject['parent'], $postId );
                if ( isset( $fieldParent['type'] ) && 'repeater' === $fieldParent['type'] ) {
                    return true;
                }
            }
        }
        return false;
    }

جميع المشكلات المعروفة

هل ما زلت تواجه هذه المشكلة؟

إذا لم يحل التحديث المشكلة، فاطرح استفسار الدعم وسنبحث في الأمر معك.