목차
중단한 부분부터 계속하세요
1. 이미지 캡처
2. 선택한 이미지 표시
3。设计我们的特色图片
4。我们如何删除图像?
接下来...
웹 프론트엔드 HTML 튜토리얼 WordPress 미디어 업로드 도구를 사용하여 이미지 추가 및 제거

WordPress 미디어 업로드 도구를 사용하여 이미지 추가 및 제거

Aug 28, 2023 am 10:49 AM
wordpress 미디어 업로드 사진이 추가되었습니다 사진 삭제

이 시리즈의 이전 기사에서는 최신 버전의 WordPress 미디어 업로더를 사용하여 프로젝트에 통합하는 방법에 대한 보다 명확한 아이디어를 얻기 시작했습니다.

이 새로운 기능(음, 3.5 이후 새로운 기능)을 사용할 때의 어려움은 다른 기능만큼 잘 문서화되어 있지 않다는 것입니다. 이로 인해 많은 개발자, 특히 초보자는 어떻게 시작해야 할지 고민하게 됩니다. 여기에 기본 시스템을 완전히 점검하는 작업을 추가하면 해야 할 일이 많습니다.

첫 번째 기사의 피드백을 바탕으로 이 시리즈의 범위를 더욱 확장하는 것을 고려할 것입니다. 이번 글에서는 이전 글에서 소개한 기능을 실습해 보겠습니다. 그런 다음 후속 기사(또는 두 개 이상의 후속 기사)에서 미디어 업로더가 작동하는 방식에 대해 자세히 살펴보겠습니다.

중단한 부분부터 계속하세요

지난 게시물에서 우리는 이미지를 선택하면 모든 게시물 하단에 "추천 바닥글 이미지"를 표시하는 플러그인 개발을 시작했습니다. 이 메타 상자는 게시물 및 페이지 게시물 유형에 사용할 수 있습니다.

지금까지 우리는 성공적으로 메타 박스를 추가하고, WordPress 미디어 업로더를 실행하고, 추천 이미지로 사용할 이미지를 선택했지만, 미디어 업로더에서 반환된 정보로는 실제로 아무 작업도 수행하지 않았습니다.

이번 포스팅에서는 포스팅 하단에 이미지를 표시할 수 있도록 기능을 계속 구현해보겠습니다. 그 후에는 사용할 수 있는 API에 대한 보다 기술적인 세부 사항에 대해 살펴보겠습니다.

중단한 부분부터 계속하려면 표준 "추천 이미지" 메타 상자에서 제공하는 기능을 복제할 수 있어야 합니다. 이렇게 하려면:

  1. 미디어 업로더로부터 정보를 캡처해야 합니다
  2. 선택한 이미지 표시
  3. 선택한 이미지의 크기를 올바르게 조정하세요
  4. 이미지 삭제 옵션 설정

분명히 우리는 할 일을 해냈습니다.

무엇을 하기 전에 , 예제 전체에서 jQuery를 사용할 수 있도록 $를 매개변수로 허용하도록 renderMediaUploader 함수를 업데이트하세요.

함수 선언은 다음과 같아야 합니다.

으아악

함수 호출은 이제 다음과 같아야 합니다.

으아악

자, 시작해 보겠습니다.

1. 이미지 캡처

미디어 업로더에서 이미지를 선택하면 데이터가 JavaScript로 반환됩니다. 구체적으로, 데이터는 JSON 형식으로 우리에게 반환됩니다. 이를 통해 이미지의 다양한 속성을 구문 분석하여 게시물과 함께 이미지를 렌더링하고 저장할 수 있습니다.

먼저 코드를 업데이트해 보겠습니다. admin.js에서 다음 코드 줄을 찾으세요:

으아악

다음으로 바꾸세요:

으아악

물론 이것은 그다지 복잡한 것은 아니지만 json 添加为在文件顶部定义的变量,以及 file_frameimage_data를 기억하세요.

반환된 내용이 궁금하다면 즐겨 사용하는 콘솔 디버거에 콘텐츠를 덤프json해 보세요. 이 특정 기사에서는 그렇게 하지 않겠지만, 향후 심층 기사에서 더 많은 작업을 수행할 수도 있습니다.

2. 선택한 이미지 표시

선택한 이미지를 표시하려면 이미지를 선택할 때 해당 속성을 업데이트할 수 있도록 메타 상자에 JavaScript를 통해 액세스할 수 있는 이미지 요소가 있는지 확인해야 합니다.

In views/admin.php에서는 템플릿에 다음 코드를 추가합니다. 여기에는 이미지를 렌더링하는 데 사용할 빈 이미지 요소가 포함되어 있습니다.

으아악

컨테이너를 숨기기 위해 WordPress CSS 클래스 hidden를 활용한다는 점에 유의하세요. JavaScript를 사용하면 이 클래스를 제거하여 이미지를 표시할 수 있습니다. 기본적으로 이미지를 숨기고 앵커를 표시하여 이미지를 다시 선택하는 반대 작업을 수행합니다.

이제 JavaScript를 다시 방문하여 선택 시 이미지를 렌더링할 수 있습니다. 우리는 두 가지 일을 해야 합니다:

  1. 사용자가 이미지를 선택할 수 있도록 앵커를 숨깁니다
  2. 컨테이너에 추천 이미지 표시

이를 위해 이 글의 앞부분에 소개된 JavaScript 코드를 검토해 보겠습니다. JSON 데이터를 검색한 후 계속하기 전에 이미지의 URL이 있는지 확인하세요.

으아악

분명히 코드에는 무슨 일이 일어나고 있는지 설명하기 위해 주석이 달려 있지만 요소가 올바르게 표시되고 숨겨지도록 하기 위해 jQuery에 크게 의존합니다.

먼저 json 的 URL 属性,以确保其长度大于零。我喜欢使用 $.trim의 URL 속성을 확인하여 길이가 0보다 큰지 확인합니다. 나는 방어적인 코딩 연습으로 $.trim을 사용하는 것을 좋아합니다. 0과 같으면 표시할 이미지가 없기 때문에 반환됩니다.

이후에는 이전 단계에서 생성한 새로운 div 요소를 활용합니다. children() 함수를 통해 이미지 요소를 얻은 다음 해당 src, 을 설정합니다. altcode> 및 title 속성은 모두 div 元素。我们通过 children() 函数获取图像元素,然后设置其 srcalt title 属性全部基于可通过 json 개체를 통해 액세스할 수 있는 속성을 기반으로 합니다.

从那里,我们选择图像的父容器,然后删除隐藏类。

毕竟,我们使用 featured-footer-image-container 元素作为访问锚点的点 - 在本例中,它是前一个元素 - 然后我们将其隐藏。

此时,图像应该出现在帖子元框中。

WordPress 미디어 업로드 도구를 사용하여 이미지 추가 및 제거

但是我们有一个明显的问题:图像对于容器来说太大了。这意味着我们需要引入一些 CSS。

3。设计我们的特色图片

为此,我们需要添加一个 CSS 文件并更新核心插件文件,以便它将样式表排入队列。

首先,在插件文件夹中创建一个 css 目录,然后将 admin.css 添加到该目录中。在该文件中,添加以下代码:

#featured-footer-image-container img {

    width:  100%;
    height: auto;

}
로그인 후 복사

然后在插件的 run() 函数中添加以下钩子:

add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles' ) );
로그인 후 복사

最后添加以下函数:

/**
 * Registers the stylesheets for handling the meta box
 *
 * @since 0.2.0
 */
public function enqueue_styles() {

    wp_enqueue_style(
        $this->name,
        plugin_dir_url( __FILE__ ) . 'css/admin.css',
        array()
    );

}
로그인 후 복사

如果您已正确设置选择器并且已正确注册样式表并将其排入队列,您应该会看到如下内容:

WordPress 미디어 업로드 도구를 사용하여 이미지 추가 및 제거

好多了,不是吗?

4。我们如何删除图像?

正如我们添加一个元素来显示图像一样,我们也需要添加一个允许我们删除图像的元素。

为此,请重新访问 views/admin.php 并添加以下代码:

<p class="hide-if-no-js hidden">
    <a title="Remove Footer Image" href="javascript:;" id="remove-footer-thumbnail">Remove featured image</a>
</p><!-- .hide-if-no-js -->
로그인 후 복사

接下来,我们需要编写一些额外的 JavaScript,以便在显示图像时显示上面的锚点。为此,请重新访问 admin.js 并将其添加到本文前面添加的代码下方:

// Display the anchor for the removing the featured image
$( '#featured-footer-image-container' )
    .next()
    .show();
로그인 후 복사

就像我们对初始锚点所做的那样,我们需要设置一个事件处理程序,以便当单击“删除”锚点时,图像将被删除并恢复“设置特色图像”锚点。

为此,首先重新访问 DOM 加载后立即触发的函数并添加以下代码:

$( '#remove-footer-thumbnail' ).on( 'click', function( evt ) {
    
	// Stop the anchor's default behavior
	evt.preventDefault();

	// Remove the image, toggle the anchors
	resetUploadForm( $ );
    
});
로그인 후 복사

现在我们需要定义 resetUploadForm 函数,所以现在就开始吧。请记住,这需要删除图像,隐藏“删除链接”容器,并恢复“设置图像”链接锚点。

/**
 * Callback function for the 'click' event of the 'Remove Footer Image'
 * anchor in its meta box.
 *
 * Resets the meta box by hiding the image and by hiding the 'Remove
 * Footer Image' container.
 *
 * @param    object    $    A reference to the jQuery object
 * @since    0.2.0
 */
function resetUploadForm( $ ) {
    'use strict';

	// First, we'll hide the image
	$( '#featured-footer-image-container' )
		.children( 'img' )
		.hide();

	// Then display the previous container
	$( '#featured-footer-image-container' )
		.prev()
		.show();

	// Finally, we add the 'hidden' class back to this anchor's parent
	$( '#featured-footer-image-container' )
		.next()
		.hide()
		.addClass( 'hidden' );

}
로그인 후 복사

此时,我们已获得选择图像、删除图像以及继续执行此操作所需的一切。

仍有工作要做,但我们将在下一篇文章中介绍这一点。同时,不要忘记在 GitHub 上查看相关存储库以获取该项目源代码的当前版本。

接下来...

显然,我们已经处理了很多后端工作,因为它涉及选择图像、显示图像和删除图像,但我们仍然缺少一个关键的功能:保存图像,以便它与帖子相关联。

为了将网站访问者看到的内容与我们在后端指定的内容联系起来,我们需要做一些工作,将 JSON 数据保存到数据库,对其进行清理、检索,然后显示它在前面。

在本系列的下一篇文章中,我们将看看如何做到这一点。同时,请随时在下面的提要中留下任何评论或问题。

위 내용은 WordPress 미디어 업로드 도구를 사용하여 이미지 추가 및 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 대 Flutter: 모바일 개발을 위한 최고의 선택 PHP 대 Flutter: 모바일 개발을 위한 최고의 선택 May 06, 2024 pm 10:45 PM

PHP와 Flutter는 모바일 개발에 널리 사용되는 기술입니다. Flutter는 크로스 플랫폼 기능, 성능 및 사용자 인터페이스가 뛰어나며 고성능, 크로스 플랫폼 및 맞춤형 UI가 필요한 애플리케이션에 적합합니다. PHP는 성능이 낮고 크로스 플랫폼이 아닌 서버 측 애플리케이션에 적합합니다.

WordPress에서 페이지 너비를 변경하는 방법 WordPress에서 페이지 너비를 변경하는 방법 Apr 16, 2024 am 01:03 AM

style.css 파일을 편집하여 WordPress 페이지 너비를 쉽게 수정할 수 있습니다. style.css 파일을 편집하고 .site-content { max-width: [원하는 너비] }를 추가하세요. [원하는 너비]를 편집하여 페이지 너비를 설정하세요. 변경 사항을 저장하고 캐시를 지웁니다(선택 사항).

WordPress에서 제품 페이지를 만드는 방법 WordPress에서 제품 페이지를 만드는 방법 Apr 16, 2024 am 12:39 AM

WordPress에서 제품 페이지 만들기: 1. 제품 만들기(이름, 설명, 사진) 2. 페이지 템플릿 사용자 정의(제목, 설명, 사진, 버튼 추가) 3. 제품 정보(재고, 크기, 무게)를 입력합니다. 4. 변형(다양한 색상, 크기)을 만듭니다. 5. 공개 또는 숨김을 설정합니다. 6. 댓글을 활성화/비활성화합니다. 7. 페이지를 미리 보고 게시합니다.

WordPress 기사는 어느 폴더에 있나요? WordPress 기사는 어느 폴더에 있나요? Apr 16, 2024 am 10:29 AM

WordPress 게시물은 /wp-content/uploads 폴더에 저장됩니다. 이 폴더는 하위 폴더를 사용하여 연도, 월, 기사 ID별로 정리된 기사를 포함하여 다양한 유형의 업로드를 분류합니다. 기사 파일은 일반 텍스트 형식(.txt)으로 저장되며 파일 이름에는 일반적으로 ID와 제목이 포함됩니다.

워드프레스 템플릿 파일은 어디에 있나요? 워드프레스 템플릿 파일은 어디에 있나요? Apr 16, 2024 am 11:00 AM

WordPress 템플릿 파일은 /wp-content/themes/[테마 이름]/ 디렉터리에 있습니다. 헤더(header.php), 바닥글(footer.php), 기본 템플릿(index.php), 단일 기사(single.php), 페이지(page.php)를 포함하여 웹사이트의 모양과 기능을 결정하는 데 사용됩니다. , 아카이브(archive.php), 카테고리(category.php), 태그(tag.php), 검색(search.php) 및 404 오류 페이지(404.php). 이러한 파일을 편집하고 수정하면 WordPress 웹사이트의 모양을 사용자 정의할 수 있습니다.

WordPress에서 저자를 검색하는 방법 WordPress에서 저자를 검색하는 방법 Apr 16, 2024 am 01:18 AM

WordPress에서 작성자 검색: 1. 관리자 패널에 로그인한 후 게시물 또는 페이지로 이동하여 검색 표시줄을 사용하여 작성자 이름을 입력하고 필터에서 작성자를 선택합니다. 2. 기타 팁: 와일드카드를 사용하여 검색 범위를 넓히고, 연산자를 사용하여 기준을 결합하거나, 저자 ID를 입력하여 기사를 검색하세요.

WordPress를 개발하는 데 어떤 언어가 사용됩니까? WordPress를 개발하는 데 어떤 언어가 사용됩니까? Apr 16, 2024 am 12:03 AM

WordPress는 데이터베이스 상호 작용, 양식 처리, 동적 콘텐츠 생성 및 사용자 요청을 처리하기 위한 핵심 프로그래밍 언어로 PHP 언어를 사용하여 개발되었습니다. PHP는 크로스 플랫폼 호환성, 학습 용이성, 활발한 커뮤니티, 풍부한 라이브러리 및 프레임워크 등의 이유로 선택되었습니다. WordPress는 PHP 외에도 HTML, CSS, JavaScript, SQL 등과 같은 언어를 사용하여 기능을 향상시킵니다.

어떤 WordPress 버전이 안정적인가요? 어떤 WordPress 버전이 안정적인가요? Apr 16, 2024 am 10:54 AM

가장 안정적인 WordPress 버전은 최신 보안 패치, 성능 향상, 새로운 기능 및 개선 사항이 포함된 최신 버전입니다. 최신 버전으로 업데이트하려면 WordPress 대시보드에 로그인하고 업데이트 페이지로 이동하여 지금 업데이트를 클릭하세요.

See all articles