WordPress에서 댓글을 설정합니다. WordPress 댓글 – 완전한 외관 디자인 모두 댓글 댓글 추가

안녕하세요!

오늘의 기사는 다음과 같습니다. WordPress 댓글 출력. 주석 표시를 담당하는 코드가 포함된 파일과 함수를 살펴보겠습니다. 이 WordPress 블로그 블록을 변경하려면 수행해야 할 작업입니다.

모든 WordPress 템플릿(테마)에는 파일이 있다는 사실부터 시작하겠습니다. comments.php루트 디렉터리의 전체 경로는 다음과 같습니다. /wp-content/themes/template_folder/comments.php

정확히 comments.php일반적으로 특정 WordPress 테마의 댓글 블록을 담당합니다.

comments.php에 가장 자주 포함되는 내용은 다음과 같습니다.

– 댓글의 비밀번호 보호를 확인하세요

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

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

코멘트 출력 함수 호출 – wp_list_comments()

– 여러 페이지에 댓글 게시 시 네비게이션(페이징) 출력

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

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

파일 내용을 나열했을 때 comments.php, 그런 다음 그는 특히 다음과 같이 강조했습니다. comments.php주석 출력 함수에 대한 호출이 있습니다. wp_list_comments(), 그러나 결론 자체는 아닙니다. 저것들. V comments.php메시지 작성자의 이름과 웹 사이트 링크 표시, 작성자의 아바타 표시, 날짜 및 시간 표시 등을 찾을 수 없습니다(최소한 WordPress의 최신 버전과 템플릿 개발에 대한 올바른 접근 방식에서는). 댓글, 댓글 자체, '답글' 링크.

댓글 목록의 스타일을 어떻게 변경하나요?

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

wp_list_comments() 함수는 콜백 없이(콜백은 콜백 함수입니다) 콜백과 함께 호출될 수 있습니다.

1. 콜백 없이 wp_list_comments를 호출합니다.

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

만약에 comment.php귀하의 템플릿이 그런 상황이라면 즉, 이 테마에는 댓글을 표시하는 자체(사용자) 기능이 없습니다.이를 위해 표준 템플릿(WordPress 코어의 템플릿)이 사용됩니다. 파일에 있습니다. 그리고 그 이후로 이 경우 두 번째 옵션으로 넘어갈 때까지 댓글 표시 스타일을 변경할 수 없습니다.

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

"유형=코멘트&avatar_size=48&콜백=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그리고 그 안에 있는 함수를 찾아보세요 논평().

그녀의 설명의 시작은 다음과 같습니다

/** * @since 3.6 * @access protected * * @param object $comment 표시할 주석입니다. * @param int $length 주석의 깊이입니다. * @param array $args 선택적 인수. */ 보호된 함수 설명($comment, $length, $args) (

* @3.6부터

* @접근 보호됨

* @param object $comment 표시할 설명입니다.

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

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

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

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

1단계에 표시된 설명의 시작 부분부터 닫는 중괄호까지 코드 조각을 복사해야 합니다. } 다른 기능에 대한 다음과 유사한 설명

최근 독자 중 한 명이 WordPress에서 익명 댓글을 허용하는 것이 가능한지 물었습니다. 기본적으로 사용자는 댓글 양식에 이름과 이메일 주소를 제공하지 않으면 WordPress에 댓글을 게시할 수 없습니다. 이 글에서는 사용자가 WordPress에서 익명으로 댓글을 남길 수 있도록 허용하는 방법을 설명합니다. 또한 댓글 양식에서 이름과 이메일 필드를 숨기는 방법도 알려드리겠습니다.

별명: 이상적인 솔루션

WordPress에서 익명 댓글을 허용하는 가장 좋은 방법은 사용자가 실명 대신 가명이나 별명을 사용하도록 권장하는 것입니다.

이를 통해 커뮤니티를 구축하는 동시에 사용자가 익명을 유지할 수 있습니다. 댓글 작성자는 여전히 이메일 주소를 남겨야 하지만 익명을 유지하려는 대부분의 사람들은 추가 이메일 주소를 사용하게 됩니다.

댓글 정책에서 이러한 옵션을 지정하고 댓글 양식 위에 해당 옵션에 대한 상호 링크를 제공할 수 있습니다.

이 솔루션은 이상적이며 우리가 권장하는 유일한 솔루션이지만 작성자 익명성을 위한 다른 솔루션도 있습니다. 하지만 사이트의 익명성이 높을수록 스팸이 더 많이 포함된다는 점을 기억하세요.

이름 및 이메일 필드를 선택 사항으로 만들기

추가할 수 있는 다음 익명성 계층은 이름 및 이메일 필드를 완전히 선택 사항으로 만드는 것입니다. 사용자가 이름이나 이메일 없이 댓글만 제출하면 통과됩니다. 이름 및 이메일 필드를 선택 사항으로 만드는 방법을 살펴보겠습니다.

우선 해당 섹션으로 이동해야 합니다. 설정 » 토론사이트의 관리 패널에서 "댓글 작성자는 이름과 이메일을 표시해야 합니다." 확인란을 선택 취소합니다. 이제 변경 사항을 저장해야 하며 귀하의 사이트는 이름과 이메일이 없는 댓글을 허용합니다.

이 확인란을 제거하면 사용자에게 이제 이름이나 이메일을 제공하지 않고도 댓글을 남길 수 있다는 사실이 통보되지 않습니다. 해당 필드를 선택 사항으로 표시하여 이를 알릴 수 있습니다. 스팸 양을 줄이려면 웹사이트 필드를 제거하는 것이 좋습니다. 이렇게 하려면 댓글 양식을 수정해야 합니다. 다음 코드를 복사하여 테마의 function.php 파일에 붙여넣거나 다음을 수행하세요.

Function wpb_alter_comment_form_fields($fields) ( // 이름 필드를 수정하고 선택 사항으로 표시 $fields["author"] = "

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

"; // 이메일 필드를 수정하고 선택 사항으로 표시합니다. $fields["email"] = " "; // 이 줄은 댓글 양식에서 웹사이트 필드를 제거합니다. $fields["url"] = ""; return $fields; ) add_filter("comment_form_default_fields", "wpb_alter_comment_form_fields");

이 코드는 단순히 (필요하지 않음)댓글 양식의 이름 및 이메일 필드에 추가하세요. 또한 사이트 필드도 제거됩니다. "사이트"를 떠나려면 해당 코드 줄을 삭제하면 됩니다. 귀하의 의견 양식은 다음과 같습니다.

댓글 양식에서 이름 및 이메일 필드를 완전히 제거하는 방법

댓글 양식에서 이름 및 이메일 필드를 완전히 제거하려는 사용자를 위해 다음은 테마의 function.php 파일에 붙여넣을 수 있는 작은 코드입니다.

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

양식에 텍스트가 표시되는 경우 귀하의 이메일 주소는 공개되지 않습니다(귀하의 이메일은 공개되지 않습니다.) 테마의 comments.php 파일을 편집하여 숨길 수 있습니다. 태그를 찾아 다음 코드로 바꿉니다.

"

" . __("이름과 이메일 주소는 필요하지 않습니다.") . ($req ? $required_text: "") . "

")); ?>

찾을 수 없다면 comment_form, 테마나 하위 테마 파일에 다음 CSS 코드를 추가하여 이 텍스트를 숨길 수 있습니다. 스타일.css:

주석-노트( display:none; )

이름, 이메일, 웹사이트 필드가 없는 댓글 양식은 다음과 같습니다.

익명 댓글 경고

필수 이메일 입력란이 없으면 양식에 스팸이 많이 유입될 수 있다는 점에 유의하세요. Akismet과 Sucuri가 일부 불량 IP를 차단할 수 있더라도 스팸을 줄이기 위해 보안 문자를 추가하는 것이 좋습니다.

이 기사가 사용자가 WordPress에서 익명으로 댓글을 달 수 있도록 하는 데 도움이 되었기를 바랍니다. 우리는 댓글 양식에 대한 다양한 스타일을 보여주었습니다. 이 주제에 대해 더 자세히 알고 싶다면 우리의 기사를 확인하세요.

WordPress에 관해 글을 쓴 지 꽤 시간이 지났습니다. 따라서 오늘은 WordPress에서 댓글 양식을 수동으로 변경하는 방법을 알려 드리겠습니다. 나는 이 지식이 초보 블로거에게 유용할 수 있다고 생각합니다. 댓글 양식이 때로는 방문자와 작성자 사이의 유일한 의사소통 수단이기 때문입니다. 지나치지 마세요 :)

코드 조작을 시작하기 전에 테마 파일이 아닌 WordPress 자체의 파일을 편집한다는 점을 미리 경고하고 싶습니다. 예, 어떤 사람에게는 위험하고 다른 사람에게는 무의미해 보일 수 있으며 다른 사람에게는 단순히 좋아하지 않을 것입니다. :) 하지만 저는 정확히 그렇게 했고 아무런 문제도 없었습니다. 시작하기 전에 편집 중인 파일을 백업해 두는 것이 좋습니다.
안전에 대해 경고했으니 이제 제가 도달한 결과를 보여드리고 싶습니다.


보시다시피 "귀하의 이메일은 공개되지 않습니다"라는 문구가 제거되었습니다. 필요 입력 사항은 표시되어 있습니다 *". 방문객을 멍청한 바보로 생각할 필요가 없습니다. 그들은 무엇을 작성해야 하고 무엇을 작성하지 말아야 하는지 이미 이해하고 있습니다. 또한 필드 자체 안에 필드 이름을 숨겼습니다. 이 굵은 메모는 무엇을 위한 것인가요? 대부분의 방문자는 필드 이름이 없더라도 어느 필드가 무엇에 속하는지 "눈으로" 확인할 수 있습니다. 하지만 내부 힌트는 여전히 존재해야 합니다. 글쎄, 댓글 필드의 캡션이 불필요한 대담성을 잃었습니다. 제 생각에는 훨씬 더 좋아지고 자유로워졌습니다.

그러니 빨리 모든 것을 바꾸자! ;)
우리 사이트의 폴더로 이동하여 wp-includes/comment-template.php 파일을 찾습니다. 우리는 그 안에서 1522번째 줄을 찾고 있습니다. 예, 바로 그 것입니다. 내가 직접 찾은 방법은 전체 이야기입니다. 잠시 후에 말씀 드리겠습니다. :)
따라서 편집할 파일을 열고 1522행으로 이동합니다. 이제 그것과 다음(최대 1529)은 대략 다음과 같습니다:

$fields = array("작성자" => "

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

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

" . "

",);

모든 것이 얼마나 간단하고 명확합니까? 초과분을 모두 잘라내고 조금만 추가하면 충분합니다. 매개변수가 추가됩니다.

자리 표시자="도움말 텍스트" !}

이 옵션을 사용하면 필드 내부에 텍스트를 표시할 수 있습니다. 힌트를 표시하는 데 사용됩니다.

"

" "

" "

"

다음 줄을 삭제하겠습니다.

"

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

"

필드 위에 캡션을 표시하는 역할을 담당합니다.
이러한 모든 조작의 결과로 다음을 얻습니다.

$fields = array("작성자" => "

", "이메일" => "

", "URL" => "

",);

남은 것은 “귀하의 이메일은 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *". 이렇게 하려면 다음 줄(약 1537)을 삭제하세요.

"comment_notes_before" => "

" . __("귀하의 이메일 주소는 공개되지 않습니다.") . ($req ? $required_text: "") . "

",

그게 다인 것 같은데, 이제 우리의 모습이 좀 더 매력적으로 변했어요. 이 정보가 누군가에게 도움이 되길 바랍니다 :)

구독하고 댓글을 달아주시면 적절한 댓글을 받게 되어 기쁘게 생각합니다. 어쩌면 나 자신이 모르는 것이 있고 다르게 할 수도 있으니 생각을 공유하십시오.

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

방법 1번

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

$args = array("comment_notes_before" => "

", "comment_field" => "

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

따라서 이 배열에 원하는 값을 가진 새 매개변수를 추가해야 합니다. 그게 전부입니다. 우리의 경우 이는 다음과 같습니다.

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

당신이 이해하는대로 - 리뷰를 남겨주세요, 이것은 - 댓글 추가 대신 새 이름입니다. 배열의 끝이나 시작 부분에 이러한 매개변수를 추가할 수 있습니다. 다음과 같은 결과가 나올 것입니다:

$args = array("title_reply" => "리뷰를 남겨주세요", "comment_notes_before" => "

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

", "comment_field" => "

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

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

방법 2번

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

함수 wph_change_submit_label($defaults) ( $defaults["title_reply"] = "리뷰 남기기"; return $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

보너스

이는 기본적으로 첫 번째 방법에서 수행한 것과 동일합니다. 간단히 말해서 배열에 직접 구현하고 여기에서는 필터를 통해 구현했습니다. 이 단계를 마치면 이름이 변경된 것을 볼 수 있습니다. 첫 번째 방법과 마찬가지로 텍스트를 변경할 수 있습니다. - 마음에 드는 분께 리뷰를 남겨주세요. 이 텍스트는 예시로 제공됩니다.

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

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

위의 방법에서 이 단어를 사용한 경우 리뷰, 리뷰, 리뷰로 이름을 변경하세요. 이렇게 하면 모든 것이 동일하고 흩어지지 않고 리뷰와 댓글이 있게 됩니다.

오늘 전해드리고 싶은 정보는 바로 이것입니다. 아마도 누군가에게 유용할 것입니다.

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

(댓글 양식 앞의 헤더에서 h3 태그를 제거했습니다.) - 오늘 우리는 WP 댓글 양식 기능이 우리 규칙에 따라 완전히 작동하도록 만들 것입니다.

우리는 자신만의 스타일을 설정하고, 재량에 따라 "댓글 추가" 제목을 변경하고, 필요한 경우 URL 양식과 같은 특정 정보 입력 창을 제외하고, 자리 표시자를 사용자 정의할 수 있는 기회를 갖게 됩니다. 그리고 가장 중요한 것은 엔진을 업데이트할 때 이 모든 것을 잃지 않는다는 것입니다.

이제 함수 파일을 편집하기만 하면 쉽게 목표를 달성할 수 있습니다. 그리고 사이트 코드를 편집할 만큼 강력하다고 생각된다면(이 방법은 앞서 설명한 방법보다 조금 더 복잡합니다)…

콘서트를 시작합시다:

WordPress 코어를 편집할 가치가 있나요?

아시다시피 WordPress 코어(CMS 파일) 편집은 권장되는 활동이 아닙니다. 엔진을 업데이트한 후 작업이 손실되기 때문입니다! 또한, 초보 리소스 관리자의 경우 이러한 WordPress 업데이트는 자신도 모르게 갑자기 이루어집니다. 이를 방지하는 방법은 다음을 참조하세요.

WordPress를 업그레이드할 가치가 있나요?

확실히 맞아요! …여기에는 이견이 있을 수 없습니다! ...그러나 앞서 말했듯이 엔진 업데이트가 관리자 버전을 덮어쓰게 된다는 점은 문제가 됩니다!

따라서 많은 웹 마스터는 사이트를 보다 유연하게 설정하기 위해 모든 종류의 필터(해킹)를 사용합니다. 그것도 나쁘지 않습니다! 그러나 나는 (그리고 나뿐만 아니라) WP 코어의 일부 사소한(지속적인 업데이트의 중요성과 관련하여) 기능을 템플릿의 루트로 이동하는 것을 선호합니다.

따라서 템플릿 수준에서 사이트 상태를 손실 없이 관리하기 위해 필요한 조정 사항을 테마 파일에 출력합니다.

편집을 시작해 보겠습니다만!!

...매번 상기시켜 드리겠습니다. 블로그에서 발생한 모든 사건에 대한 일종의 "기억" 문서를 만드세요. 편집된 파일을 복사합니다. 도움이 될 것입니다!

저를 믿으십시오. 축적된 지식을 진흙으로 소화할 가능성이 거의 없기 때문에 이것은 전문성이 부족합니다!

목표를 달성하기 위해 필요한 것:

comment_form 함수 처리를 WP 코어(comment-template.php 파일)에서 템플릿 디렉토리로 전송합니다.

comment-template.php 파일을 찾을 수 있는 곳

your_domain/wp-include 파일 comment-template.php 경로를 따르세요.

...열거나(또는 호스팅에서 직접 열거나) Notepad++에서 다운로드하여 편집합니다. 다음을 읽어보세요. 메모장++ 구성 방법

다음과 같은 줄을 찾으세요(대략 줄 번호 2111).

함수 comment_form($args = array(), $post_id = null) (

do_action("comment_form_comments_closed");

이 모든 것을 복사하여 함수 파일인 function.php로 전송합니다.

일반적으로 모든 새로운 코드 추가는 닫는 ?> 태그 앞에 배치됩니다. 그러나 추가된 코드를 주제별로 그룹화하는 것이 좋습니다. 그러면 필요한 경우 모든 것을 쉽게 찾을 수 있습니다.

다음 단계는 기능의 이름을 변경하는 것입니다. 원하는 대로 부를 수 있고 개인 모노그램으로 지정할 수도 있습니다... 저는 이렇게 했습니다:

함수 my_my_ comment_form

우리의 업적을 저장합니다...

...그리고 테마의 comments.php 파일로 이동하세요.

이 파일에서 함수 호출의 이름을 첫 번째 단계에서 호출한 이름으로 변경해야 합니다.

문서에서 다음 문구를 찾으십시오(보통 끝에 있습니다).간단히 my_my_ 또는 귀하의 이름을 추가하세요.

다음과 같아야 합니다.

...이제 새 함수를 호출하는 작업이 완료되었습니다. 템플릿 로직은 테마에 복사된 코드를 사용합니다!

우리에게 딱 필요한 것!

이제 새로 생성된 함수 my_my_comment_form()의 코드를 편집하기만 하면 됩니다.

...또는 개별 자리 표시자를 설정하세요. 제게는 어떤 모습인지 살펴보세요.

...내 댓글 양식 창에는 해설자가 메시지를 입력하자마자 사라지는 "Your comment..."라는 모노그램이 있습니다.

... 등등... 등등... 그런 식으로 말이죠.

댓글 양식의 요소 추가/제거에 대해 질문이 있는 경우 글을 남겨주시면 해결해 드리겠습니다.

또는 여기에서 유용한 조각에 대한 게시물을 읽을 수 있습니다(


맨 위