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;
    }

כל התקלות הידועות

עדיין נתקל בבעיה זו?

אם העדכון אינו פותר זאת, פתח פנייה לתמיכה ואנו נבדוק זאת יחד איתך.