>  기사  >  백엔드 개발  >  기본 요구 사항으로 문의 양식 생성 단순화

기본 요구 사항으로 문의 양식 생성 단순화

王林
王林원래의
2023-09-02 13:09:101270검색

간단한 블로그를 시작하든, 기업 웹사이트를 만들든, WordPress로 창의적인 포트폴리오를 구축하든, 문의하기 페이지는 (거의) 항상 필요하며, 문의 양식을 갖는 것이 (거의) 항상 더 좋습니다. 이메일 주소를 공유하는 것보다 공개적으로(스팸 봇이 좋아하지만) 물론 WordPress에는 훌륭한 문의 양식 플러그인이 많이 있습니다. 하지만 멋지고 간단한 사용자 정의 단축 코드 플러그인을 대신 사용할 수 있는데 왜 데이터베이스 쿼리가 많은 무거운 플러그인으로 사이트를 부풀리나요?


나만의 문의 양식을 만들 때의 이점

플러그인은 훌륭하지만 그 중 너무 많은 기능이 필요하지 않으며 데이터베이스 연결 사용, 추가 PHP 코드 실행, 헤더에 CSS 스타일시트 및 JS 파일 추가 등으로 인해 사이트가 너무 커질 수 있습니다. 어느 시점에서는 사용하려는 플러그인이 아무리 훌륭하더라도 기존 플러그인에서 벗어나고 싶을 때가 있습니다.

코딩 방법을 모른다면 손이 (다소) 묶여 있고 플러그인을 사용해야 한다는 점을 인정해야 합니다. 그러나 어떤 수준에서든 WordPress 개발에 익숙하다면(그리고 여전히 나와 함께 있기 때문에 아마 그럴 것이라고 가정합니다) 자신만의 테마를 해킹하거나 플러그인을 작성하는 것의 이점을 고려해야 합니다. 제 생각에는 다음과 같은 장점이 있습니다.

  • 최적화 - 너무 많은 코드, 특히 필요하지 않은 추가 코드를 사용하면 경우에 따라 호스팅 계획의 한도를 초과하기도 합니다. 그러나 서버에 충분한 리소스가 있더라도 최적화는 항상 사이트 상태에 도움이 됩니다.
  • 청결함 - 깨끗한 코드는 서버의 상태 외에도 웹사이트 로딩 및 구문 분석 속도에 큰 이점을 제공합니다. 직접 코딩/해킹하면 많은 콘텐츠를 로드하지 않고도 사이트의 간단한 기능을 활용하는 데 필요한 것만 갖게 됩니다. 아시다시피 SEO에도 좋습니다.
  • The Joy of Control - 명령을 내리는 힘을 결코 과소평가해서는 안 됩니다. 귀하의 웹 사이트를 관리하면 기성 코드를 사용하는 것보다 확실히 더 열정적인 디자이너/개발자가 될 수 있습니다. 그렇기 때문에 원하지 않는 분들을 위해 완전한 코드를 제공했지만 개인적으로는 여기에 코드를 복사/붙여넣기하지 말고 직접 작성해야 한다고 생각합니다. 똑같은 코드를 입력하더라도 플러그인이 어떻게 작동하는지 확인할 수 있고 제어하는 ​​즐거움을 느낄 수 있습니다. 솔직히.

코드

자, 잡담은 그만하고 코딩을 시작해 볼까요! 여기서는 엄청난 양의 코드나 어떤 종류의 힘든 작업을 다루지 않을 것이므로 PHP 및/또는 WordPress의 초보자라도 내 가이드를 따르고 어느 부분이든 공부하면 코드를 이해할 수 있습니다. 그것. 인식할 수 없는 코드입니다.

이 코드를 테마의 functions.php 파일에 직접 넣을 수 있지만 더 좋은 방법은 플러그인으로 사용하는 것입니다. 이렇게 하면 테마를 전환할 때 기능이 손실되지 않고 콘텐츠에 단축 코드가 인쇄되는 일이 발생하지 않습니다. 표준 플러그인 정보부터 시작해 보겠습니다.

으아아아

작은 도우미 기능: get_the_ip()

함수 이름에서 알 수 있듯이 사용자가 프록시 서버를 통해 연결하더라도 사용자의 실제 IP 주소를 가져옵니다. 물론 완벽한 것은 아니지만 어쨌든 사용자를 위한 추가 정보로 사용합니다.

기본적으로 우리는 달라지려고 노력할 것입니다$_SERVER 变量:分别为 HTTP_X_FORWARDED_FORHTTP_CLIENT_IPREMOTE_ADDR. 코드는 다음과 같습니다:

으아아아

단축코드

Wptuts+에서 내 게시물을 팔로우하시면 제가 WordPress의 Shortcode API를 절대적으로 사랑한다는 것을 아실 것입니다.

단축코드를 더 잘 설명하기 위해 3부분으로 나누겠지만, 먼저 단축코드 기능을 켜고 끄는 것을 잊지 마세요:

으아아아

단축코드의 속성

가벼움을 유지하면서 유연성을 유지하려면 일부 속성을 설정해야 합니다. 다음은 10가지입니다:

으아아아

코드에서는 이를 속성 이름이 있는 변수(예: $label_submit)로 참조한다는 점을 기억하세요.

이메일로 이메일 보내기

이것은 함수에서 가장 중요한 부분이므로 코드 에서 다음 주석 라인을 사용하여 코드를 계속 설명하겠습니다.

으아아아

문의 양식

이 부분은 물론 이전 부분만큼 중요합니다. 결국 이전 코드는 문의 양식 없이 어떻게 이메일을 보낼 수 있습니까? :)

으아아아

팁: 문의 양식의 HTML 코드를 자세히 살펴보면 추가 $subject 变量。还记得没有默认值的简码属性“subject”吗?这意味着如果您想设置默认主题,您可以使用这样的短代码: [contact subject="Job application"]

를 볼 수 있습니다.

返回简码的

最后一点非常简单:如果电子邮件已发送,则显示成功消息,或者显示电子邮件表单和错误消息(如果有)。代码如下:

if ( $sent == true ) {
	return $info;
} else {
	return $info . $email_form;
}

如果电子邮件已发送,我们不会再次显示该表单,但如果您仍想显示该表单,可以使用以下简单的行:

return $info . $email_form;

CSS

当然,代码本身看起来不太好。通过一些化妆、CSS,我们可以使我们的表单更漂亮。将这些 CSS 代码行添加到主题的 style.css 文件中:

.contact-form label, .contact-form input, .contact-form textarea { display: block; margin: 10px 0; }
.contact-form label { font-size: larger; }
.contact-form input { padding: 5px; }
#cf_message { width: 90%; padding: 10px; }
#cf_send { padding: 5px 10px; }

如果一切正确,您将看到类似于下图的内容:

기본 요구 사항으로 문의 양식 생성 단순화

恭喜,您刚刚构建了自己的联系表单短代码!


结论

这个简单的联系表单对于大多数网站来说已经足够了,但是如果您想向其中添加更多字段,您只需编辑表单并将 $form_data['name_of_the_new_field'] 变量添加到 $email_message 中变量(并且可能将字段名称添加到 $required_fields 数组中。

如果您对如何改进此代码或显示您使用该代码的网站页面有任何想法,请在下面与我们分享您的评论!

위 내용은 기본 요구 사항으로 문의 양식 생성 단순화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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