آپلود فایل SVG در وردپرس (۲ روش: افزونه + کدنویسی)

آپلود فایل SVG در وردپرس ممکنه؟ به صورت پیش فرض وردپرس اجازه افزودن بعضی از انواع فایل همچون SVG رو به شما نمیده. دو تا راه حل دارید، نصب افزونه و کد نویسی! در این آموزش هر مورد رو خدمت شما آموزش میدم!

آپلود فایل SVG در وردپرس – روش اول : نصب افزونه

یکی از راحت ترین راه ها نصب افزونه Safe SVG هست. با نصب این افزونه بدون نیاز به هیچ تنظیماتی، میتونید هر فایل SVG که دوست دارید رو آپلود کنید.

افزونه Safe SVG به شما امکان آپلود فایل SVG رو خواهد داد
با افزونه safe svg می تونید به راجتی فایل SVG در وردپرس آپلود کنید

آپلود فایل SVG در وردپرس – روش دوم: کدنویسی

نصب افزونه های متعدد باعث کندی سایت شما خواهد شد و البته ریسک امنیتی سایت رو هم افزایش میده. من ترجیح میدم کدنویسی انجام بدم.

برای افزودن قابلیت آپلود فایل SVG در وردپرس کافیه تا کد زیر رو در فایل functions.php قالب تون (ترجیحا قالب فرزند قالب اصلی تون) قرار بدید.

/**
 * 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
);
این مقاله رو از دست نده:  لینک به محصولات قبلی و بعدی در صفحه تک محصول ووکامرس
EBR
EBR

دانش آموخته مهندسی برق و مدرس وب هستم. حتی قبل از اینکه وارد دانشگاه بشم، به برنامه نویسی علاقه مند شدم و از اون زمان تا الان، هرگز کدنویسی رو رها نکردم. چه به عنوان مدرس، و چه به عنوان یک برنامه نویس. دغدغه اشتغال و بهبود فضای کار و زندگی برای همه دانشجویانم رو دارم. به همین خاطر معتقدم بدون آموزش پروژه محور و اصولی، اشتغال پایدار و با درآمد خوب شکل نمی گیره. علاقمند به برنامه نویسی، تکنولوژی و توسعه مهارت های نرم و الان هم بنیان گذار مجموعه دوناوب هستم و با یه تیم خوب و پرانرژی روزهام رو می گذرونم.

مقاله‌ها: 27

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *