Resolved

Reported for: WPML Multilingual CMS 3.1.9.3

Resolved in: 3.1.9.4

Symptoms

Catchable fatal error: Object of class stdClass could not be converted to string in /home/lahjatup/public_html/markkinointiopisto.fi/wp-content/plugins/sitepress-multilingual-cms/inc/wpml-config/wpml-config.class.php on line 252

Or

Warning: dirname() expects parameter 1 to be string, object given in /home1/treasure/public_html/dev/wp-content/plugins/sitepress-multilingual-cms/inc/wpml-config/wpml-config.class.php on line 252

The above PHP errors will appear in your Admin pages like your plugins, theme or Translation Management > Multilingual Content Setup pages.

Workaround

  1. Login via FTP
  2. Locate the sitepress-multilingual-cms/inc/wpml-config/wpml-config.class.php file
  3. Locate the line mentioned in the PHP error you see (252). For example:
    581480-Schermata_2015_03_18_alle_20.43.56

    $type = ( dirname( $file ) == get_template_directory() || dirname( $file ) == get_stylesheet_directory() ) ? 'theme' : 'plugin';
    $admin_text_context = basename( dirname( $file ) );
  4. Delete both lines of code
  5. In the same file locate the following code (around line 210):
    }else{
     $config = icl_xml2array( file_get_contents( $file ) );
    }
  6. Modify this block of code to become:
    }else{
    $config = icl_xml2array( file_get_contents( $file ) );
    $type = ( dirname( $file ) == get_template_directory() || dirname( $file ) == get_stylesheet_directory() ) ? 'theme' : 'plugin';
    $admin_text_context = basename( dirname( $file ) );
    }
  7. Save the file and upload to your server

17 Responses to “PHP errors from wpml-config-class.php”

    • Hello Daniel,

      Could you please open a support forum ticket for the issue? This way we will be able to assist better.

      Thanks!

    • Hello Antonia,

      May I suggest then please to open a support ticket in our forum so we can see what is happening?

      Thank you so much!

  1. @antonia, I took your support ticket. I’ll try to help you there, awaiting your response.

  2. The workaround is no longer needed if you are using the latest stable release of WPML 🙂