Get WPFTS Pro today with 25% discount!

[Solved] Media Library Folders Pro indexing issue


  • Recently we found an issue with Media Library Folders Pro plugin. Our client is using it to upload new files to the WP Media Library using the folder structure. But the problem was after the new file is successfully uploaded, it does not get indexed automatically by the WPFTS Pro.

    After some investigation, we detected that reason was that Media Library Folders Pro plugin does not encode file paths properly on Windows OS servers.

    For example, if you're uploading the file "file.pdf" into the subfolder "2020/12" of the standard WP uploads folder, the path normally should be

    c:\www\domain.com\wp-content/uploads\2020/12/file.pdf

    Later, the WP Core function parses this path and cuts out the highlighted part, because it is EXACTLY equal to WP's "upload_dir" value.

    But because of the Media Library Folders Pro bug, the file path becomes different:

    c:\www\domain.com\wp-content\uploads\2020\12\file.pdf

    Because of this, the WP Core function can not cut out the upload_dir part, and also it removes backslashes, so the final result becomes very strange and not acceptable by WPFTS Pro in any case:

    c:wwwdomain.comwp-contentuploads202012file.pdf

    To fix this, we have to create the custom code for the _wp_relative_upload_path filter. So the result looks like this:

    add_filter('_wp_relative_upload_path', function($new_path, $path)
    {
    	// This code will only work in case Media Library Folders is installed and active
    	if (class_exists('MaxGalleriaMediaLib')) {
    		// We going to replace '\' to '/' before comparison
    		// to make this code compatible with Windows-style paths
    		$new_path = str_replace("\\", "/", $path);
    
    		$uploads = wp_get_upload_dir();
    		$up_dir = str_replace("\\", "/", $uploads['basedir']);
    		if ( 0 === strpos( $new_path, $up_dir ) ) {
    				$new_path = str_replace( $up_dir, '', $new_path );
    				$new_path = ltrim( $new_path, '/' );
    		}
    	}
    
    	return $new_path;
    }, 30, 2);
    

    If you need the ready solution only, just download, install, and activate this:
    wpfts-addon-media-library-folders-1.0.0.zip

Suggested Topics

Be the first to read the news!

We are always improving our products, adding new functions and fixes. Subscribe now to be the first to get the updates and stay informed about our sales! We are not spammy. Seriously.

Join Us Now!

We are a professional IT-team. Many of us have been working in a Web IT field for more than 10 years. Our advanced experience of software development has been employed in the creation of the WordPress FullText Search plugin. All solutions implemented into the plugin have been used for 5 or more years in over 60 different web-projects.

We are looking forward to your comments, requests and suggestions in relation to the current plugin and future updates.

ewm-logo-450

The forum powered by NodeBB | Contributors