WPML
الحالة
محلولة
أُبلغ عنها لـ
Advanced Custom Fields Multilingual 2.0.5
تم حلها في
Advanced Custom Fields Multilingual 2.2.0
الإضافة/القالب ذو الصلة
Advanced Custom Fields (ACF)
وسوم الموضوع
Compatibility

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

في بعض السيناريوهات، قد تواجه إضافة 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

حل بديل مؤقت

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


  • افتح الملف …/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;
    }

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