솔직히 말해서, 그들이 이것에 대해 글을 쓰고 다른 사이트에서 새 이민자들에게 조언하는 것을 보았을 때 저는 조금 겁이 났고 치명적인 결함 없이 이 주제에 대해 메모를 작성하기로 결정했습니다. 기본적으로 구현하는 긴 코드 조각을 보았습니다. 사이트에 댓글 추가. 일반적으로 이를 위해 양식이 작성되고 처리, 저장 및 표시 선택이 구현됩니다. 그러나 이 접근 방식의 장점은 멀수록 적습니다.

이 게시물에서는 사이트에 댓글을 추가하는 가장 쉬운(그러나 주관적으로 가장 선호하는 방법 중 하나) 방법 중 하나를 배우게 됩니다. 초보자를 위한 간단한 예 + 고급 웹마스터를 위한 옵션입니다.

실제로, 제3자 서비스에서 기성품 솔루션이 많이 있는 경우 휠을 재발명하고 미래에 여전히 지원, 수정 등을 해야 하는 많은 코드를 작성하는 이유는 무엇입니까? 소셜 네트워크에서 + 원반)?

그러나 실제 구현으로 이동하기 전에 기성 솔루션을 사용할 때의 장단점을 살펴보겠습니다. (잊은 것이 있으면 댓글에 작성하세요. 목록이 확장됩니다.)

타사 솔루션의 이점:

  • 구현 용이성.
  • 스팸 방지 "즉시 사용 가능한"(내 솔루션에서는 이것을 추가로 구현해야 하므로 이론적으로 이전 단락과 관련됨).
  • 제3자 솔루션이 수백만 명의 사용자에 의해 테스트되었기 때문에 오류, 버그 등이 덜 발생합니다.
  • 일반적으로 서비스는 미리 만들어진 관리자 패널, 통계, 관리자를 위한 알림, 때로는 조정, 여러 관리자, 사전 조정 등을 제공하며, 웹마스터, 특히 초보자는 몇 년은 아니더라도 몇 개월이 걸릴 수 있습니다. 구현하다.
  • 사용자는 등록하거나 이름 등을 입력할 필요가 없습니다. - 그는 이미 인기 있는 소셜 네트워크에 계정이 있다고 가정합니다.
  • 아마도 사회적이라는 사실 때문에 큰 하중을 견딜 것입니다. 플랫폼은 원래 무거운 하중을 위해 설계되었습니다.

결점:

보시다시피 더 많은 이점이 있습니다. 외관을 변경할 수없는 것은 댓글 서비스의 스타일을 인식하기 위해 수행되어 눈에 띄지 않는 광고를 만들기 위해 가장 많이 수행됩니다. (옵션 중 하나로). 인덱싱의 경우 모든 주석이 의미론적 부하를 수반하는 것은 아니기 때문에 인덱싱이 정말 중요합니까?

그러나 이론은 충분하므로 실습으로 넘어갑시다.

1. 가장 간단한 옵션- 선택한 소셜 네트워크를 사용하여 댓글을 추가합니다.

예를 들어 vk. 우리는 문서를 봅니다. 제공된 코드를 복사하여 페이지에 추가합니다(코드 조각은 참조로 독에서 가져오고 나중에 변경될 수 있으므로 항상 설명서 사이트에서 복사합니다. 다음은 가능한 예일 뿐입니다).

1) 에 추가 :

2) 댓글 위젯을 보려는 위치에 추가합니다(예: 블로그에 대해 이야기하는 경우 메모 뒤에).

2. 여러 서비스에서 위젯을 추가합니다. 예를 들어 이 리소스에서처럼. 탭 전환:


표시하려는 위치에 마크업을 추가합니다(올바른 작업을 위해서는 트위터 부트스트랩이 연결되어 있어야 합니다!). 댓글 위젯:

그러나이 옵션은 가장 쉽지만 최선은 아닙니다. 문제는 이 접근 방식을 사용하면 페이지가 로드될 때 사용자가 필요로 하는지 여부에 관계없이 모든 위젯이 초기화된다는 것입니다.

이것은 다음을 구현하여 피할 수 있습니다. 주석 위젯의 지연 초기화. 먼저 전체 코드 다음 설명:

(function(global, $) ( "엄격한 사용"; $(function() ( var $tabToggler, initComments, initialized; initialized = ( "#vk-comments": false, "#disqus_thread": false ); initComments = function (type) ( var DiscussUserName, disqus_config, pageUrl; if (initialized) ( return; ) pageUrl = "page_url"; switch (type) ( case "#disqus_thread": // 플랫폼에 맞는 적절한 매개변수를 사용하여 이 매개변수를 설정해야 합니다. 방법 토론UserName = "discussUserName"; disqus_config = function() ( this.page.url = pageUrl, return this.page.identifier = "page_identifier"; ); (function() ( var d, s; ​​​ d = 문서; s = d.createElement("스크립트"), s.src = "//" + 토론 사용자 이름 + ".disqus.com/embed.js", s.setAttribute("데이터 타임스탬프", +새 날짜()); return ( d.head || d.body).appendChild(s); ))(); break; case "#vk-comments": VK.Widgets.Comments("vk-comments", ( 제한: 5, 첨부) : " *", pageUrl: pageUrl )); 중단; 기본값: 리턴; ) 초기화 = true; ); $tabToggler = $(".comments-wrapper a" ); $tabToggler.on("shown.bs.tab", function(e) ( initComments($(e.target).attr("href")); )); initComments($tabToggler.closest(".active").find("a").attr("href")); )); ))(창, jQuery);

플랫폼에서 제공하는 방법을 사용하여 값을 준비해야 하는 변수에 주의하십시오.

먼저 유형 매핑을 만듭니다. 댓글 위젯, 변수 초기화. 다음으로 기능 initComments(유형)허용 초기화 댓글 위젯, 이미 초기화된 경우 아무 작업도 수행하지 않습니다.

그리고 마지막 터치 - 페이지가 로드된 직후에 표시되도록 기본 주석 위젯을 초기화합니다.

요점에 대한 기성 스크립트 및 coffeescript. 작업 예는 다음과 같습니다(코드 예는 이 사이트에서 가져옴).

안녕하세요 여러분! 오늘은 블로그 독자들이 자신의 블로그에 댓글을 남길 수 있는 방법에 대해 알려드리고자 합니다. 물론, 내 블로그가 말 그대로 댓글로 가득 차 있다고 말하고 싶지는 않지만 여전히 뭔가가 있습니다.

자신에 대해 조금.

첫 번째 블로그를 만들고 두 번째(이 블로그는 -) 블로그에 대한 의견이 부족하여 고통을 겪었습니다. 이 블로그를 살펴보자. 제 생각에는 그는 유용하게 잘 썼지 만 여전히 의견이없고 없습니다. 글을 다 쓰고 나니 이런저런 고마운 일이 있을 줄 알았는데 새 블로그가 많이 생겼다고 하던데 아직도 댓글이 없네...

몇 주가 지났지만 여전히 소수의 사람들이 응답했고 내 수업에 블로그를 만든 소수가 있었습니다. 그러나 나는 완고하게 계속 진행했고 계속해서 글을 쓰고 있습니다. 왜냐하면 저는 제 블로그와 독자들을 사랑하고, 새로운 수업을 작성하고 트위터, vkontakte, icq, 페이스북, 메일, 스카이프 등에서 그들과 소통하기 때문입니다.

그러나 여전히 독자가 댓글을 남기도록 하는 방법은 무엇입니까?

우선 내 독자층을 분석했고 일반적으로 내 독자가 인터넷에 익숙하지 않거나 블로그에 익숙하지 않다는 것을 깨달았습니다. 나는 나 자신을 기억했다 댓글 쓰기내 말이 많은 사람에게 보일 거라는 걸 알았고, 내가 엉뚱한 말을 하면 다들 비웃거나 나쁘게 생각할 거라는 걸 알았으니까.

따라서 Yandex의 Google에서 내 질문에 대한 답변을 찾지 못했지만 침묵을 유지하고 내 문제에 "점수"하는 것이 때로는 더 낫다고 생각했습니다. 아무도 내 문제에 대답하지 않고 내 질문에 대답하지 않을 것이라고 생각했습니다.

독자의 입장에 서서 나는 당신이 그것을 분명히하고 질문해야한다는 것을 깨달았습니다. 이것은 어리 석음이 아니며 모두가 한때 초보자였습니다. 그리고 글 말미에 댓글을 남겨달라고 부탁했습니다. 그리고 이것을 두려워할 필요가 없음을 분명히 하셨습니다.

결과적으로 모든 행동 후에 댓글을보고 독자의 활동을보고 이것이 저를 기쁘게합니다. 따라서 아래에 몇 가지 요점을 제시하겠습니다. 양을 늘리는 방법 블로그 댓글.

친애하는 독자 여러분, 제가 답장조차 드리지 않았다면 제가 그들을 방치하지 않았다는 것을 아셨을 것입니다.

독자가 블로그에 댓글을 남기도록 하는 방법

  1. 당신은 당신이 어떤 종류의 독자층을 가지고 있는지 이해하고 그것에 대한 신뢰를 얻을 필요가 있습니다. 이렇게 하려면 "저자 정보" 페이지를 만들고 사진을 게시하고 icq, skype, twitter, Vkontakte, facebook 등에 연락처 링크를 제공하여 독자들이 당신이 살아있는 사람이라는 것을 확실히 알 수 있도록 할 수 있습니다. , 독자 자신과 동일합니다.
  2. 예를 들어 여름을 어떻게 보냈는지 등과 같은 개인적인 성격의 게시물을 게시할 수 있습니다. 이러한 기사는 블로그 작성자와 독자를 "함께 가져옵니다". 그러나 과장하지 마십시오. 블로그 주제에서 너무 자주 벗어날 필요가 없으므로 대상 고객을 소외시킬 수 있습니다.
  3. 기사가 끝나면 독자들에게 의견을 남겨달라고 요청하십시오. 이것은 비효율적인 방법입니다. 글 말미에 질문하는 것이 더 효과적입니다.
  4. 기사 자체는 전체 의미를 밝히지 않습니다. 당신이 자연적인 것을 놓쳤다는 느낌을 그대로 두십시오. 독자는 당신의 기사를 스스로 보완하기를 원할 것입니다.
  5. 토론을 모으십시오. 예를 들어, "Apple VS Nokia", "WordPress 또는 Joomla" 등과 같은 성격의 게시물에는 많은 댓글이 달립니다. 한쪽의 팬은 자신의 것을 증명하고 반대쪽의 팬들은 그 반대를 증명할 것입니다.
  6. 보안 문자(댓글을 남기기 위한 스팸 방지)를 가능한 한 쉽게 만드십시오. 물론 이상적으로는 보안 문자가 완전히 없지만 스팸 봇은 "두뇌와 블로그를 제거"합니다. :).
    예를 들어, 나는 사진에서 보안 문자 코드가 사용되는 곳에 댓글을 절대 남기지 않습니다. 만약 그것이 길다면, 그것으로 끝입니다. 그것은 단지 세상의 종말입니다. 나는 너무 게으르다. 이 편지들을 다시 쓸 시간이 없다.
    따라서 스팸으로부터 보호하려면 로봇이 아님을 체크하거나 간단한 수학 문제를 해결하기만 하면 되는 플러그인과 유사한 플러그인을 설치하십시오. 그건 그렇고, 나는 마지막 플러그인에 대해 자세히 이야기했습니다.
  7. 댓글을 달기 전에 "안타깝게도 아직 댓글이 없습니다."라는 표준 텍스트 대신 "댓글을 남겨주세요. 귀하의 의견은 우리에게 중요합니다"와 같이 댓글을 남기도록 "강요"하는 것을 배치하십시오(먼저 떠오른 것 🙂) . 이 텍스트는 comments.php 파일에서 변경할 수 있습니다.
  8. 다른 블로그에 댓글을 남겨주세요. 처음에는 이것이 많은 도움이 됩니다. 하지만 이것도 시간이 부족합니다... 주제에 대해 의미있게 댓글을 남겨야 합니다. 나는 seogramota.ru에 남겨진 내 의견을 즉시 기억했습니다. 덕분에 많은 새로운 독자, 구독자 및 110 가슴과 PR 2가 있는 블로그에서 무료 링크를 얻었습니다. 내 수업 중 하나에서).
    당신의 독특한 아바타와 함께 코멘트를 남겨주세요(당신의 사진일 필요는 없습니다). 댓글을 남길 때 아바타를 사용하려면 사진에 이메일(댓글 시 표시됨)을 "첨부"해야 합니다. 이렇게 하려면 gravatar.com에 등록하기만 하면 됩니다. 그러면 무엇을 해야 하는지 스스로 모든 것을 이해하게 될 것입니다.
  9. 등록된 사용자에게만 댓글을 남기는 기능을 제거하십시오! 댓글을 남기는 것만으로 유닛만 등록됩니다.
    이렇게 하려면 다음으로 이동하십시오. WordPress 관리 영역 -> 설정 -> 토론그리고 체크박스를 해제 "사용자는 등록하고 댓글을 달 수 있는 권한이 있어야 합니다.":


  10. 독자가 댓글을 남기도록 "강제"하는 모든 종류의 콘테스트를 준비할 수 있습니다. 한때 제가 개최한 대회(""라고 불렸던 대회)가 저에게 많은 도움이 되었습니다. 코멘트의 특정 "백본", "골격"이 나타났습니다. 즉, 독자는 다른 사용자가 댓글을 남기는 것을 보았으므로 모든 것이 정상이므로 기여를 남길 수 있습니다. 약간의 두려움을 극복했습니다.
    물론 모든 사람이 모든 종류의 콘테스트를 준비하고 싶어하는 것은 아닙니다. 누군가는 상금에 대해 유감스럽게 생각합니다. 누군가 콘테스트가 미친 아이디어처럼 보이지만 매우 효과적이기 때문입니다.
    차례로, 나는 하나의 기사에 대해서만 의견을 말하도록 요청합니다 (나는 당신에게 감사 할 것입니다), 여기

이 이름은 많은 것을 방해하지 않지만 때때로 리뷰를 남기기 위해 댓글을 추가하는 방법을 변경하는 방법에 대한 질문이 발생합니다. 이 경우 이 기사가 도움이 될 것입니다. 위에서 쓴 것처럼 몇 가지 방법을 보여 드리겠습니다.

방법 번호 1

첫 번째 방법의 경우 사이트에 설치된 테마가 있는 폴더에서 파일을 찾아야 합니다. comment.php. 하나가 있으면 열어서 주석 양식의 내용을 설정하고 표시하는 역할을 하는 배열을 찾으십시오. 다음과 같이 보입니다.

$args = array("comment_notes_before" => "

", "설명_필드" => "

", "id_submit" => "comm_subm", "label_submit" =>

따라서 이 배열에 다음을 추가해야 합니다. 새 매개변수올바른 가치와 그것이 전부입니다. 우리의 경우 이것은 다음과 같습니다.

"title_reply" => "자신의 리뷰를 남겨주세요",

당신은 어떻게 이해합니까 - 리뷰를 남겨주세요, 이것은 - 주석을 추가하는 대신 새 이름입니다. 이러한 매개변수를 배열의 끝이나 시작 부분에 추가할 수 있습니다. 다음과 같이 표시됩니다.

$args = array("title_reply" => "댓글 남겨주세요", "comment_notes_before" => "

아래 필드를 채우십시오. 귀하의 이메일은 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *

", "설명_필드" => "

", "id_submit" => "comm_subm", "label_submit" => "제출",), comment_form($args);

시작 부분에 추가되었으며 이제 항목 페이지에 줄이 표시됩니다. - 리뷰를 남겨주세요. 이 방법은 복잡하지 않고 최소한의 노력이 필요합니다. 가장 중요한 것은 배열을 올바르게 정의하는 것입니다. 그러나 때때로 테마 내부에 comment.php 파일이 없거나 배열이 없고 올바르게 추가하는 방법을 모르는 경우 두 번째 방법이 도움이 될 것입니다.

방법 번호 2

두 번째 방법의 핵심은 다음을 추가하는 것입니다. 새로운 기능, 이름을 대체합니다. 이렇게 하려면 활성 테마가 있는 폴더에서 파일을 찾아야 합니다. 기능.php사용자 정의 기능을 사용하여 편리한 위치에서 이것을 모른다면 PHP 닫는 태그 앞의 맨 끝에 - ?> , 아무것도 없으면 맨 끝에 다음 코드를 추가하십시오.

함수 wph_change_submit_label($defaults) ( $defaults["title_reply"] = "피드백 제출"; return $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

보너스

이것은 실제로 첫 번째 방법에서 수행된 것과 동일합니다. 간단히 말해 배열에 직접 포함하고 여기에서는 필터를 통해 포함합니다. 이 단계를 수행하면 제목이 변경됩니다. 첫 번째 방법과 마찬가지로 텍스트를 변경할 수 있습니다. 리뷰를 원하는 대로 남겨주세요. 이 텍스트는 예제로 제공됩니다.

나는 또한 Comments라는 단어의 어긋남에 주의를 기울이고 제안하고 싶습니다. 양식에 줄이 있는 경우 - 1개의 댓글 또는 댓글: 10개의 게시됨 기사에서 기능을 사용할 수 있습니다. 이미 사용하고 있다면 배열과 함께 사용하는 것이 좋습니다.

Array("주석","주석","주석")

위의 방법에서 해당 단어를 사용한 경우 제목을 review,review,reviews로 변경합니다. 따라서 모든 것이 귀하에게 동일하며 흩어져 있지 않고 리뷰가 있으며 의견이 있습니다.

오늘 알려드리고자 하는 정보입니다. 아마도 누군가에게 유용할 것입니다.

그게 다야, 관심을 가져 주셔서 감사합니다. 🙂

안녕하세요!

오늘의 기사는 WordPress 주석 출력. 주석 표시를 담당하는 코드가 어떤 파일과 기능에 있는지 고려할 것입니다. 이 WordPress 블로그 블록을 변경하려면 무엇을 해야 하나요?

우선 각 WordPress 템플릿(테마)에는 파일이 있습니다. comment.php, 루트 디렉토리의 전체 경로: /wp-content/themes/template_folder/comments.php

정확히 comment.php일반적으로 특정 댓글 차단에 대한 책임이 있습니다. 워드프레스 테마.

comment.php에 가장 자주 포함되는 내용:

– 댓글의 비밀번호 보호 확인

– 기사에 댓글 허용 여부 확인

– 댓글 확인 및 해당 텍스트 표시("댓글 없음 ..." 또는 "N 댓글 남음")

주석 출력 함수 호출 - wp_list_comments()

– 여러 페이지에 댓글을 달 때 탐색(페이징) 출력

– 기사에 대한 의견을 남기는 양식 표시

여기에서 자신의 클래스를 설정하거나 속성을 변경할 수 있습니다. 스타일.css이미 존재하는 클래스의 경우. 따라서 주석 목록 앞과 이 목록 또는 양식 뒤에 주석 및 텍스트를 남기기 위한 양식의 모양을 변경할 수 있습니다. 하지만 comment.php에 있는 주석 자체의 출력 스타일은 변경할 수 없습니다.

파일의 내용을 나열했을 때 comment.php, 그는 특히 강조했습니다. comment.php주석을 표시하기 위한 함수에 대한 호출만 있습니다. wp_list_comments(), 그러나 출력 자체는 아닙니다. 저것들. 안에 comment.php당신은 찾을 수 없습니다 (적어도 최신 버전워드프레스와 올바른 접근템플릿 개발): 메시지 작성자의 이름과 해당 사이트 링크 표시, 작성자 프로필 사진 표시, 댓글 날짜 및 시간 표시, 댓글 자체 및 "답장" 링크 표시.

댓글 목록에서 스타일을 변경하는 방법은 무엇입니까?

먼저 템플릿이 주석을 표시하기 위해 사용자 정의 기능을 사용하는지 확인해야 합니다.

wp_list_comments() 함수 호출은 콜백 없이 가능합니다(콜백은 함수입니다. 콜백) 및 콜백과 함께.

1. 콜백 없이 wp_list_comments 호출:

저것들. 함수 매개변수(이름 뒤 괄호 안에 있는 것)에는 '콜백'이라는 이름의 매개변수가 어디에도 없습니다.

만약에 comment.php귀하의 템플릿이 그러한 상황이라면 이것은 이 주제에 주석을 표시하기 위한 자체(사용자 정의) 기능이 없음을 의미합니다.이를 위해 표준 템플릿이 사용됩니다(WordPress 코어의 템플릿). 파일에 있습니다. 그리고 그 이후로 이 경우 두 번째 옵션으로 넘어갈 때까지 주석 표시 스타일을 변경하면 작동하지 않습니다.

2. 콜백으로 wp_list_comments를 호출합니다.

"type=comment&avatar_size=48&callback=custom_comment") ; ?>

콜백=custom_comment을 나타냅니다 의견을 표시하기 위해 사용자 정의 기능이 있습니다. custom_comment , 대략적으로 말하자면, 실행을 위한 매개변수로 표준 함수에 전달하는 코드 wp_list_comments. 그러나 우리는 더 이상 이 문제의 기술적 측면, 즉 주석을 표시하기 위한 자체 기능의 템플릿에 관심이 없습니다. 이 함수의 코드는 에 있습니다.

이것이 이 사용자 정의 기능에 있습니다. custom_comment별도의 주석, 따라서 전체 주석의 표시를 담당하는 코드가 있습니다.

사용자 정의 기능 코드는 직관적입니다. 일반적으로 다음과 같은 표준 WordPress 기능을 사용합니다.

get_comment_author_link()- 수신 HTML 링크현재 댓글 작성자의 사이트로

get_comment_date()– 주석 날짜를 가져옵니다.

get_comment_time()– 주석 시간을 가져옵니다.

comment_text()- 주석의 텍스트를 표시합니다.

코드에서 이러한 기능이 있는 조각을 찾고 div 또는 범위로 래핑하고 특정 스타일 클래스를 할당하여 특정 요소의 모양을 변경할 수 있습니다.

예를 들어 사용자 정의 함수의 코드에서 아바타 출력 조각은 다음과 같습니다.

< div class = "comment-author" >

< / div >

이제 남은 스타일.css원하는 속성을 클래스에 설정 댓글 작성자. 더 구체적인 예스타일 변경은 다음 문서 중 하나에서 설명합니다.

이제 다음과 같은 궁금증이 생길 수 있습니다. 내 템플릿에 주석을 표시하는 사용자 지정 기능이 없으면 어떻게 합니까?

답변: 생성해야 합니다.

가장 쉬운 옵션은 표준 WordPress 기능의 코드를 복사하는 것입니다. 논평().

주석 표시를 위한 사용자 정의 함수 생성 지침:

1. 파일 열기 /wp-includes/comment-template.php그리고 그 안에 있는 기능을 찾아라 논평().

여기 그녀의 설명의 시작입니다

/** * @3.6 이후 * @access 보호됨 * * @param 객체 $ 코멘트 코멘트표시합니다. * @param int $depth 주석의 깊이입니다. * @param array $args 선택적 인수. */ protected function comment($comment, $depth, $args) (

* @3.6부터

* @접근 보호

* @param object $comment 표시할 주석.

* @param int $depth 주석의 깊이입니다.

* @param array $args 선택적 인수.

보호된 함수 주석 ($comment , $depth , $args ) (

2. 함수의 전체 본문 복사 논평().

단락 1에 표시된 설명의 시작 부분에서 마지막 부분까지 코드 조각을 복사해야 합니다. 중괄호 } 다른 기능에 대한 유사한 설명이 뒤따릅니다.

WordPress에는 게시물, 페이지, 댓글과 같은 여러 유형의 콘텐츠가 있습니다. WordPress는 사이트에 맞게 주요 콘텐츠 유형을 사용자 지정할 수 있는 매우 유연한 플랫폼입니다. 모양과 느낌을 변경할 수 있습니다. 이 튜토리얼에서는 WordPress 사이트에서 댓글의 동작과 모양을 변경하는 방법을 보여줍니다.

1단계. 기능 이해하기 comment_form 및 해당 인수

WordPress comment_form 함수를 고려하십시오. 페이지 또는 게시물에 표시되는 댓글 양식을 표시하는 역할을 합니다. 이 함수에 대한 호출은 주로 파일에서 찾을 수 있습니다. comment.php테마 폴더에서 이 파일파일과 같은 다양한 위치에 포함 단일.php그리고 페이지.php, 직접 또는 comments_template 함수 호출을 통해.

기능에 대한 설명은 WordPress 코덱스에서 찾을 수 있습니다.

comment_form 함수를 사용하여 양식을 렌더링하는 경우 기본 매개변수를 사용하여 렌더링되며 이름, 이메일(두 필드 모두 필수), 웹사이트 및 댓글 내용과 같은 필드가 포함됩니다. 기본 Twenty Eleven 테마에서 양식은 다음과 같습니다.

comment_form 함수에 대한 몇 가지 중요한 인수:

  • 필드 - 도움을 받아 주석 양식의 필드 출력을 제어할 수 있습니다.
  • comment_notes_before 및 comment_notes_after는 양식 전후에 정보를 표시하는 데 사용됩니다.
  • title_reply - 응답 제목을 변경하는 데 사용되며 기본값은 '답장 남기기'입니다.
  • label_submit - 댓글 제출 버튼의 텍스트를 변경하는 데 사용됩니다.

2단계. 기능을 사용하여 댓글 양식 사용자 지정 comment_form

이제 comment_form 함수에 인수를 전달하여 주석 양식을 사용자 정의해 보겠습니다.

주석 양식의 필드를 사용자 정의해야 하는 경우 해당 목록을 comment_form 함수에 전달해야 합니다. 기본적으로 함수는 다음 필드 목록을 사용합니다.

$fields = array("저자" => "

" . "" . ($req ? " *" : "") . "

", "이메일" => " ", "URL" => "

" . "

",);

웹사이트와 같은 필드를 제거해야 하는 경우 배열에서 제외하고 배열을 comment_form 함수에 전달하기만 하면 됩니다.

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("저자" => "

" . "" . ($req ? " *" : "") . "

", "이메일" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

또한 양식명을 '귀중한 의견을 보내주세요'로, 버튼 라벨을 '내 의견 보내기'로 변경합니다.

작업을 완료하기 위해 다음 인수를 comment_form 함수에 전달합니다.

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("저자" => "

" . "" . ($req ? " *" : "") . "

", "이메일" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"귀중한 의견을 보내주세요", "label_submit" => "내 의견 보내기"); comment_form($comments_args);

이제 댓글 양식이 다음과 같이 표시됩니다.

3단계 후크를 사용하여 양식에서 필드 제거

또한 양식 워드프레스 댓글후크와 필터로 수정할 수 있습니다. 이 설정은 몇 가지 요소를 조정해야 하지만 테마 파일은 변경하지 않아야 할 때 플러그인으로 작업할 때 특히 유용할 수 있습니다. 양식 필드를 추가하거나 제거하기 위한 필터 - ' comment_form_default_fields '

필터를 사용하여 URL 주소 필드를 제거해 보겠습니다. 위의 코드는 플러그인이나 파일에서 사용할 수 있습니다. 기능.php활성 주제.

함수 remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

4단계: 후크로 주석 양식에 데이터 추가

' comment_form_default_fields ' 필터를 사용하여 양식에 필드를 추가할 수 있습니다. 필터를 사용하여 작성자의 나이 필드를 추가하고 이 필드를 추가 데이터와 함께 저장하고 댓글에 표시해 보겠습니다.

다음과 같이 필드를 추가합니다.

함수 add_comment_fields($fields) ( $fields["나이"] = "

" . "

"; 반환 $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

#respond .comment-form-author 라벨, #respond .comment-form-email 라벨, #respond .comment-form-url 라벨, #respond .comment-form-age 라벨, #respond .comment-form-comment 라벨( 배경: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); box-shadow: 04,gba0(2px, 04,gba0 2px) 0.8), 색상: #555, 디스플레이: 인라인 블록, 글꼴 크기: 13픽셀, 왼쪽: 4픽셀, 최소 너비: 60픽셀, 패딩: 4픽셀 10픽셀, 위치: 상대, 상단: 40픽셀, z-인덱스: 1, )

이제 의견 양식은 다음과 같습니다.

이제 나이는 다음과 같이 저장됩니다. 추가 정보. ' comment_post '에서 후크를 사용해야 합니다.

함수 add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("설명_게시", "추가_설명_메타_값", 1);

데이터가 저장되면 다음과 같이 주석에 표시할 수 있습니다.

comment_ID, "나이", true); ?>

5단계 특정 게시물 유형에 대한 댓글 설정

특정 유형의 게시물에만 댓글 필드를 사용하고 싶을 때가 있습니다. 레코드 유형 book에 대해서만 age 필드를 표시하도록 코드를 변경해 보겠습니다.

함수 add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

" . "

"; ) $fields 반환; ) add_filter("comment_form_default_fields","add_comment_fields");

6단계. 댓글 표시를 위한 반환 함수 만들기

wp_list_comments 함수는 게시물에 댓글을 표시하는 데 사용됩니다. WordPress 코덱스는 이 기능을 자세히 설명합니다.

wp_list_comments에는 주석이 표시될 때 호출되는 함수를 정의하는 데 사용할 수 있는 ' callback ' 인수가 있습니다.

파일의 Twenty Eleven 테마에서 comment.php다음 라인을 찾을 수 있습니다.

wp_list_comments(array("콜백" => "twentyeleven_comment"));

다음과 같이 변경해 보겠습니다.

wp_list_comments(array("콜백" => "my_comments_callback"));

my_comments_callback 함수는 모든 게시물에 대해 호출됩니다.

7단계 주석 스타일 지정

이제 우리는 주석의 스타일을 약간 변경할 것입니다. 게시물의 내용과 이전에 추가한 age 필드만 표시합니다. 댓글의 배경색도 변경하겠습니다.

기능 코드 ' my_comments_callback ':

함수 my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; ?>

  • id="li-comment-">

    comment_ID, "나이", true); ?>

    __("답장 ↓", "twentyeleven"), "깊이" => $depth, "max_depth" => $args["max_depth"]))); ?>
  • 다음과 같이 배경색을 변경합니다.

    Commentlist > li.comment ( 배경: #99ccff; 테두리: 3px solid #ddd; -moz-border-radius: 3px; border-radius: 3px; 여백: 0 0 1.625em; 패딩: 1.625em; 위치: 상대; )