워드프레스 댓글에서 이메일과 웹사이트 필드 없애기

워드프레스 댓글에서 이메일 필드나 웹사이트 필드가 표시되는 것을 원치 않는 경우가 있을 수 있습니다.

웹사이트 필드의 경우 간단히 사용자 코드나 CSS를 사용하여 표시되지 않도록 할 수 있습니다.

이 글이 작성된 이후에 많은 변화가 있었습니다. 댓글 필드 제거와 관련된 최신 정보는 다음 글을 참고해보세요.

워드프레스 댓글에서 이메일과 웹사이트 필드 없애기

다음과 같은 사용자 코드를 테마의 함수 파일에 추가하면 웹사이트 필드가 표시되지 않을 것입니다. 이 작업을 수행하기 전에 가급적 차일드 테마(자식 테마)를 설치하여 진행하시기 바랍니다("원클릭으로 간편하게 차일드 테마 만들기" 참고).

function disable_website_field($fields)
{
if(isset($fields['url']))
unset($fields['url']);
return $fields;
}

add_filter('comment_form_default_fields', 'disable_website_field');

또는 CSS 코드로도 숨기는 것이 가능합니다. (이 경우 실제로 필드가 제거되는 것이 아니라 화면에 보이지 않을 뿐입니다.)

#comment-input #url {display: none; }

CSS 코드는 테마에 따라 다를 수 있습니다.

이메일 필드를 없애려는 경우 워드프레스 알림판의 설정 > 토론에서 "댓글을 쓴 사람의 이름과 이메일을 꼭 남겨야 합니다"의 선택을 해제합니다.

워드프레스 댓글 이메일 필드

그런 다음 CSS를 사용하여 필드를 숨기거나 다음 코드를 테마의 함수 파일에 추가하면 이메일 필드가 표시되지 않습니다.

function my_remove_email_field_from_comment_form($fields) {
if(isset($fields['email'])) unset($fields['email']);
return $fields;
}
add_filter('comment_form_default_fields', 'my_remove_email_field_from_comment_form');

CSS를 사용하려는 경우:

#comment-input #email {display: none; }

마찬가지로 테마에 따라 작동하지 않을 수도 있습니다. 아바다 테마에서 테스트하니 잘 작동하네요.

토론에서 "댓글을 쓴 사람의 이름과 이메일을 꼭 남겨야 합니다"의 선택을 해제하면 댓글을 다는 사람이 이름을 입력하지 않더라도 댓글을 달 수 있게 됩니다. 이름을 입력하지 않으면 "익명"이라는 이름으로 댓글이 등록됩니다.

하지만 댓글란에는 "성명(필수)"와 같이 표시되어 필수 항목인 것처럼 표시되네요. (테마에 따라 다른지 모르겠습니다.)

워드프레스 댓글에서 이메일과 웹사이트 필드 없애기 2

이 블로그에서는 댓글 시스템으로 Disqus가 사용되고 있습니다. Disqus는 SEO 측면에서도 도움이 될 수 있습니다.

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

3개 댓글

  1. 안녕하세요. 많은 것들을 보고 배우고 있습니다. '내 계정'에서 주소와 계정정보 란에서 필수입력을 해야하는 필드를 지우고 싶은데요! 알려주신 방법대로 css로 필드를 안보이게 처리할수는 있는데 필수 입력 사항이라며 저장이 되지는 않는 상황입니다. 필수 입력 기능을 어떻게 없앨 수 있을까요?

    p#billing_last_name_field
    {display: none; }

    이런식으로 성을 지운 상태입니다.

    주소는 https://gagaguzook.com/my-account/edit-address/billing/ 입니다.

    1. 안녕하세요?

      우커머스의 My Account 페이지에서 last Name을 없애고 싶으신건가요?

      다음과 같은 방법으로 해보시겠어요?

      함수 파일에 다음 코드를 추가합니다:
      /*WOOCOMMERCE UNSET REQUIRED FIELD IN EDIT ACCOUNT*/
      add_filter( 'woocommerce_save_account_details_required_fields' ,
      'smtl_edit_account_remove_required_names' );
      function smtl_edit_account_remove_required_names( $fields ) {
      unset($fields['account_first_name']);
      unset($fields['account_last_name']);
      return $fields;
      }

      CSS:
      .woocommerce-EditAccountForm .woocommerce-form-row--last,
      .woocommerce-EditAccountForm .woocommerce-form-row--first {
      display: none;
      }

      위와 같이 하면 성과 이름이 없어질 것 같습니다.
      테스트는 해보지 않았습니다.

      잘 안 되면 https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EC%9A%B0%EC%BB%A4%EB%A8%B8%EC%8A%A4-%EB%82%B4-%EA%B3%84%EC%A0%95-%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%88%98%EC%A0%95%ED%95%98%EA%B8%B0/ 글에서 소개하는 플러그인으로 원하는 기능이 가능한지 플러그인 개발자에게 문의해보셔도 좋을 듯 합니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.