찾다
CMS 튜토리얼Word누르다WordPress에서 SVG 형식 이미지 업로드를 지원하고 이를 미디어 라이브러리에 표시하는 방법

下面由WordPress教程栏目给大家介绍让WordPress支持上传SVG格式图片并显示在媒体库中的方法,希望对需要的朋友有所帮助!

WordPress에서 SVG 형식 이미지 업로드를 지원하고 이를 미디어 라이브러리에 표시하는 방법

因SVG格式图片特性,可能会被插入恶意代码,网站容易被攻击,所以出于安全考虑WordPress默认不支持SVG格式图片上传,另外不像网上说SVG格式图片有那么高的应用价值,除了一些网页上的小图标可以使用SVG图片外,正常的彩色图片,如果使用SVG格式毫无优势可言。不过有时还确实需要这个SVG图片比如我主题的LOGO图片,如果使用PNG图片在手机上不是很清晰,采用SVG格式则无此问题。

如何让WordPress支持上传SVG格式图片?

可以将下代码添加当前主题函数模板functions.php中:

让WordPress支持上传SVG,并只管理员有此权限

// 只允许管理员上传SVG图片
if (current_user_can( 'manage_options' )) {
add_filter('upload_mimes', function ($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
});
}

媒体库列表模式显示SVG图片

// 媒体库列表模式显示SVG图片
add_action('admin_head', function () {
echo "<style>table.media .column-title .media-icon img[src*=&#39;.svg&#39;]{width: 100%;height: auto;}.components-responsive-wrapper__content[src*=&#39;.svg&#39;] {position: relative;}</style>";
});

网上有很多以上类似的代码,但都不支持媒体库网格模式显示SVG图片,下面的代码可以实现:

// 媒体库网格模式显示SVG图片
function zm_display_svg_media($response, $attachment, $meta){
if($response[&#39;type&#39;] === &#39;image&#39; && $response[&#39;subtype&#39;] === &#39;svg+xml&#39; && class_exists(&#39;SimpleXMLElement&#39;)){
try {
$path = get_attached_file($attachment->ID);
if(@file_exists($path)){
$svg                = new SimpleXMLElement(@file_get_contents($path));
$src                = $response[&#39;url&#39;];
$width              = (int) $svg[&#39;width&#39;];
$height             = (int) $svg[&#39;height&#39;];
$response[&#39;image&#39;]  = compact( &#39;src&#39;, &#39;width&#39;, &#39;height&#39; );
$response[&#39;thumb&#39;]  = compact( &#39;src&#39;, &#39;width&#39;, &#39;height&#39; );
 
$response[&#39;sizes&#39;][&#39;full&#39;] = array(
&#39;height&#39;        => $height,
&#39;width&#39;         => $width,
&#39;url&#39;           => $src,
&#39;orientation&#39;   => $height > $width ? &#39;portrait&#39; : &#39;landscape&#39;,
);
}
}
catch(Exception $e){}
}
return $response;
}
add_filter(&#39;wp_prepare_attachment_for_js&#39;, &#39;zm_display_svg_media&#39;, 10, 3);

另一个相对代码较少的支持媒体库网格模式显示SVG图片代码,不过如果开启调试模式会有错误提示,但不影响使用。

// 媒体库网格模式显示SVG图片
function zm_svg_metadata($data, $post_id) {
$data = array(
&#39;sizes&#39; => array(
&#39;large&#39; => array(
&#39;file&#39; => pathinfo(wp_get_attachment_url($post_id), PATHINFO_BASENAME)
)
)
);
return $data;
}
add_filter(&#39;wp_get_attachment_metadata&#39;, &#39;zm_svg_metadata&#39;, 10, 2);

至于加这个功能用于什么,那要看你用的主题是否有这个功能需要了,直接FTP上传后获取链接也一样在网页中使用。

嫌折腾代码麻烦,可以使用下面的相关插件:

SVG Support
Enable SVG
Safe SVG(据说该插件可以检测并去除SVG中的恶意代码,与250+110有的一拼)
WP SVG images
Easy SVG Support
Enable SVG Uploads
......

 

 

위 내용은 WordPress에서 SVG 형식 이미지 업로드를 지원하고 이를 미디어 라이브러리에 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 zmingcx에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
WordPress에 주석 상자를 추가하는 방법WordPress에 주석 상자를 추가하는 방법Apr 20, 2025 pm 12:15 PM

WordPress 웹 사이트에서 의견을 활성화하여 방문자에게 토론에 참여하고 피드백을 공유 할 수있는 플랫폼을 제공하십시오. 이렇게하려면 다음 단계를 따르십시오. 의견 활성화 : 대시 보드에서 설정으로 이동하고 & gt; 토론을하고 댓글 허용 확인란을 선택하십시오. 주석 양식 작성 : 편집기에서 블록 추가를 클릭하고 주석 블록을 검색하여 컨텐츠에 추가하십시오. 사용자 정의 주석 양식 : 제목, 레이블, 자리 표시 자 및 버튼 텍스트를 설정하여 주석 블록을 사용자 정의합니다. 변경 사항 저장 : 업데이트를 클릭하여 주석 상자를 저장하고 페이지 나 기사에 추가하십시오.

WordPress에서 하위 사이트를 복사하는 방법WordPress에서 하위 사이트를 복사하는 방법Apr 20, 2025 pm 12:12 PM

WordPress 하위 사이트를 복사하는 방법? 단계 : 기본 사이트에서 하위 사이트를 만듭니다. 기본 사이트에서 하위 사이트를 복제합니다. 클론을 대상 위치로 가져옵니다. 도메인 이름 (선택 사항)을 업데이트하십시오. 별도의 플러그인 및 테마.

WordPress의 헤더를 작성하는 방법WordPress의 헤더를 작성하는 방법Apr 20, 2025 pm 12:09 PM

WordPress에서 사용자 정의 헤더를 만드는 단계는 다음과 같습니다. 테마 파일 "header.php"편집. 웹 사이트 이름과 설명을 추가하십시오. 탐색 메뉴를 만듭니다. 검색 표시 줄을 추가하십시오. 변경 사항을 저장하고 사용자 정의 헤더를보십시오.

WordPress 의견을 표시하는 방법WordPress 의견을 표시하는 방법Apr 20, 2025 pm 12:06 PM

WordPress 웹 사이트에서 댓글 활성화 : 1. 관리자 패널에 로그인하고 "설정" - "토론"으로 이동하여 "주석 허용"을 확인하십시오. 2. 주석을 표시 할 위치를 선택하십시오. 3. 주석을 사용자 정의합니다. 4. 의견을 관리하고 승인, 거부 또는 삭제합니다. 5. 사용 & lt;? php comment_template (); ? & gt; 주석을 표시하는 태그; 6. 중첩 된 주석 활성화; 7. 주석 모양 조정; 8. 스팸 주석을 방지하기 위해 플러그인 및 검증 코드를 사용하십시오. 9. 사용자가 그라바타 아바타를 사용하도록 권장합니다. 10. 참조 할 주석을 만듭니다

WordPress의 소스 코드를 업로드하는 방법WordPress의 소스 코드를 업로드하는 방법Apr 20, 2025 pm 12:03 PM

WordPress를 통해 FTP 플러그인을 설치하고 FTP 연결을 구성한 다음 파일 관리자를 사용하여 소스 코드를 업로드 할 수 있습니다. 단계에는 다음이 포함됩니다. FTP 플러그인 설치, 연결 구성, 업로드 위치 탐색, 파일 업로드 및 업로드가 성공했는지 확인합니다.

WordPress 코드를 복사하는 방법WordPress 코드를 복사하는 방법Apr 20, 2025 pm 12:00 PM

WordPress 코드를 복사하는 방법? 관리자 인터페이스에서 복사 : WordPress 웹 사이트에 로그인하고 대상으로 이동하여 코드를 선택하고 CTRL C (Windows)/Command C (Mac)를 눌러 코드를 복사하십시오. 파일에서 복사 : SSH 또는 FTP를 사용하여 서버에 연결하고 테마 또는 플러그인 파일로 이동하고 코드를 선택하고 CTRL C (Windows)/Command C (Mac)를 눌러 코드를 복사하십시오.

WordPress에 오류가 있으면해야 할 일WordPress에 오류가 있으면해야 할 일Apr 20, 2025 am 11:57 AM

WordPress 오류 해상도 안내서 : 500 내부 서버 오류 : 플러그인을 비활성화하거나 서버 오류 로그를 확인하십시오. 404 페이지를 찾을 수 없습니다 : Permalink를 점검하고 페이지 링크가 올바른지 확인하십시오. 흰색 사망 화면 : 서버 PHP 메모리 제한을 늘리십시오. 데이터베이스 연결 오류 : 데이터베이스 서버 상태 및 WordPress 구성을 확인하십시오. 기타 팁 : 디버그 모드 활성화, 오류 로그 검사 및 지원을 찾으십시오. 오류 방지 : 정기적으로 WordPress를 업데이트하고 필요한 플러그인 만 설치하고 웹 사이트를 정기적으로 백업하고 웹 사이트 성능을 최적화하십시오.

WordPress로 댓글을 닫는 방법WordPress로 댓글을 닫는 방법Apr 20, 2025 am 11:54 AM

WordPress에서 댓글을 끄는 방법? 특정 기사 또는 페이지 : 편집자에서 논의중인 주석을 선택 취소하십시오. 전체 웹 사이트 : "설정" -> "토론"에서 "주석"을 선택 취소하십시오. 플러그인 사용 : 주석 비활성화와 같은 플러그인을 설치하여 주석을 비활성화합니다. 주제 파일 편집 : 주석 .php 파일을 편집하여 주석 양식을 제거하십시오. 사용자 정의 코드 : add_filter () 함수를 사용하여 주석을 비활성화하십시오.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.