WordPress에서 간단한 CRM 만들기: 사용자 정의 필드 만들기
이 시리즈에서는 WordPress에서 간단한 CRM 시스템을 만드는 방법을 살펴보았습니다. 이 시리즈의 첫 번째 부분에서는 "연락처" 사용자 정의 게시물 유형을 등록하는 WordPress 플러그인을 만들었지만 연락처에 대한 추가 정보를 저장하는 방법은 다루지 않았습니다.
사용자 정의 필드 만들기
WordPress에는 플러그인 및 테마 개발자가 다양한 WordPress 관리 화면에 대한 사용자 정의 메타 상자를 등록할 수 있는 add_meta_box()
기능이 있습니다.
WordPress는 게시물이나 페이지를 만들 때 표시할 자체 메타 상자 중 일부를 등록합니다. 예를 들어, 페이지에 페이지 속성메타 상자:
이 있습니다. Contacts사용자 정의 게시물 유형에 메타박스를 추가해 보겠습니다. 이 시리즈의 첫 번째 튜토리얼에서 생성한 플러그인 파일을 엽니다. 그런 다음 플러그인 생성자에서 다음과 일치하도록 코드를 업데이트합니다. 이것이 우리의 register_meta_boxes()
函数注册到 add_meta_boxes
작업이 될 것입니다:
다음으로 register_meta_boxes()
함수에서 register_meta_boxes()
函数中,我们添加对 add_meta_box()
的调用。这告诉 WordPress 我们需要一个名为 Contact Details 的元框,它由 output_meta_box()
호출을 추가합니다. 이는 output_meta_box()
함수에 의해 렌더링되는
라는 메타 상자가 필요하다는 것을 WordPress에 알려줍니다. 생성자 뒤에 다음 코드를 추가합니다. output_meta_box()
函数,该函数是由上面的add_meta_box
调用的。在register_meta_boxes()
으아악
함수 뒤에 다음 코드를 추가해야 합니다. 으아악 연락처 사용자 정의 게시물 유형에 메타 상자가 나타나는지 확인해 보겠습니다.
연락처 > 새 연락처 추가로 이동하여 WordPress 대시보드에 새 연락처를 만듭니다.모든 내용이 올바르게 작성되면 아래 스크린샷과 비슷한 내용이 표시됩니다.
메타 상자를 필드로 채우기output_meta_box
함수를 다음 코드로 변경합니다.
으아악플러그인 코드를 저장하고 연락처 추가 화면을 다시 로드하세요. 연락처 세부 정보 메타 상자에 새 이메일 주소 필드가 표시됩니다.
사용자 정의 필드 데이터 저장save_post
작업에 대한 함수를 등록하여 이를 수행합니다.
대부분의 작업과 마찬가지로 플러그인 생성자에 작업을 등록합니다. save_meta_boxes()
으아악
함수를 만들어 보겠습니다. save_post
으아악
작업을 매우 자주 호출할 수 있기 때문입니다(예: 정기적인 간격으로 초안을 자동으로 저장하거나 다양한 게시물 유형을 저장할 때). 사용자 정의 필드 데이터는 사용자가 연락처를 저장하거나 업데이트할 때만 저장되도록 해야 합니다.
연락처를 저장하려면 이메일 주소를 정리합니다. WordPress Codex에서:잘못된 UTF-8을 확인하고, 단일
간단히 말하면, 텍스트 문자열에 이상한 형식이 없는지 확인합니다. update_post_meta
将电子邮件地址存储在帖子元数据中。将帖子元视为附加到帖子的一系列键/值对。您可以根据自己的喜好选择任意数量。在我们的示例中,我们根据键 _contact_email
를 사용하여 사용자 정의 필드의 값을 저장합니다.
사용자 정의 필드 데이터 읽기 새
연락처를 만들고 이메일 주소를 입력하세요. 새 연락처를 저장하면 해당 필드에 이메일 주소가 표시되지 않는 것을 확인할 수 있습니다.
output_meta_box()
函数来读取 Post 元,并将其显示在输入字段中。将 output_meta_box()
함수를 다음 코드로 편집해야 합니다. get_post_meta()
来获取给定帖子 ID 和元键组合的值。我们知道元键是 _contact_email
,因为这就是我们在 update_post_meta()
으아악
安全
提交和处理表单数据时,安全性极其重要。我们在保存数据时需要知道数据的来源是可信的。如果我们不能信任数据的来源,我们就不能存储它——数据可能会因试图利用错误或安全缺陷而受到损害或损坏。
WordPress 为我们提供了随机数(“使用一次的数字”),可以与表单数据一起发送。当我们的保存例程运行时,可以检查这个随机数,以确保它与我们期望的值匹配。
这有助于防止跨站点请求伪造 (CSRF) 攻击,即有人试图从不同的网站向我们的保存例程提交表单数据。
我们需要在上面的代码的两个地方添加安全性:
-
output_meta_box()
:向表单添加随机数 -
save_meta_boxes()
:验证提交的随机数值
让我们编辑 output_meta_box()
函数,将其替换为以下代码:
/** * Output a Contact Details meta box * * @param WP_Post $post WordPress Post object */ function output_meta_box($post) { $email = get_post_meta( $post->ID, '_contact_email', true ); // Add a nonce field so we can check for it later. wp_nonce_field( 'save_contact', 'contacts_nonce' ); // Output label and field echo ( '<label for="contact_email">' . __( 'Email Address', 'tuts-crm' ) . '</label>' ); echo ( '<input type="text" name="contact_email" id="contact_email" value="' . esc_attr( $email ) . '" />' ); }
这使用 wp_nonce_field()
生成一个名为 contacts_nonce
的隐藏字段,并执行名为 save_contact
的操作。它的价值是由WordPress产生的。
接下来,让我们在 save_meta_boxes()
中编辑保存例程:
/** * Saves the meta box field data * * @param int $post_id Post ID */ function save_meta_boxes( $post_id ) { // Check if our nonce is set. if ( ! isset( $_POST['contacts_nonce'] ) ) { return $post_id; } // Verify that the nonce is valid. if ( ! wp_verify_nonce( $_POST['contacts_nonce'], 'save_contact' ) ) { return $post_id; } // Check this is the Contact Custom Post Type if ( 'contact' != $_POST['post_type'] ) { return $post_id; } // Check the logged in user has permission to edit this post if ( ! current_user_can( 'edit_post', $post_id ) ) { return $post_id; } // OK to save meta data $email = sanitize_text_field( $_POST['contact_email'] ); update_post_meta( $post_id, '_contact_email', $email ); }
这为我们的保存例程添加了两项检查:
- 检查我们的表单中是否设置了随机数字段。如果没有,请不要保存任何内容。
- 检查随机数字段的值是否符合我们的预期。如果没有,请不要保存任何内容。
创建或编辑您的联系人,并确保电子邮件地址现已保存。
下一个...
在下一篇文章中,我们将使用高级自定义字段将自定义字段添加到我们的联系人自定义帖子类型中,从而使我们能够创建具有更广泛输入类型的丰富用户界面.
위 내용은 WordPress에서 간단한 CRM 만들기: 사용자 정의 필드 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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