Forum Replies Created

Viewing 1 replies (of 1 total)
  • Forum: Fixing WordPress
    In reply to: SVG image is blank
    Thread Starter maxranq

    (@maxranq)

    Hey @radaevich so I have the following code using the WPcode plugin. That SVG plugin breaks my site for some reason. I don’t have an issues with allowing SVG uploads but when the image is uploaded its just blank.

    /**
     * Allow SVG uploads for administrator users.
     *
     * @param array $upload_mimes Allowed mime types.
     *
     * @return mixed
     */
    add_filter(
    	'upload_mimes',
    	function ( $upload_mimes ) {
    		// By default, only administrator users are allowed to add SVGs.
    		// To enable more user types edit or comment the lines below but beware of
    		// the security risks if you allow any user to upload SVG files.
    		if ( ! current_user_can( 'administrator' ) ) {
    			return $upload_mimes;
    		}
    
    		$upload_mimes['svg']  = 'image/svg+xml';
    		$upload_mimes['svgz'] = 'image/svg+xml';
    
    		return $upload_mimes;
    	}
    );
    
    /**
     * Add SVG files mime check.
     *
     * @param array        $wp_check_filetype_and_ext Values for the extension, mime type, and corrected filename.
     * @param string       $file Full path to the file.
     * @param string       $filename The name of the file (may differ from $file due to $file being in a tmp directory).
     * @param string[]     $mimes Array of mime types keyed by their file extension regex.
     * @param string|false $real_mime The actual mime type or false if the type cannot be determined.
     */
    add_filter(
    	'wp_check_filetype_and_ext',
    	function ( $wp_check_filetype_and_ext, $file, $filename, $mimes, $real_mime ) {
    
    		if ( ! $wp_check_filetype_and_ext['type'] ) {
    
    			$check_filetype  = wp_check_filetype( $filename, $mimes );
    			$ext             = $check_filetype['ext'];
    			$type            = $check_filetype['type'];
    			$proper_filename = $filename;
    
    			if ( $type && 0 === strpos( $type, 'image/' ) && 'svg' !== $ext ) {
    				$ext  = false;
    				$type = false;
    			}
    
    			$wp_check_filetype_and_ext = compact( 'ext', 'type', 'proper_filename' );
    		}
    
    		return $wp_check_filetype_and_ext;
    
    	},
    	10,
    	5
    );
    
Viewing 1 replies (of 1 total)