Cách tạo bình luận Mẫu trang trung tâm trong WordPress

Một cách để tăng sự tham gia của khách truy cập là thưởng cho ý kiến ​​của họ bằng cách hiển thị chúng trên trang web của bạn. Ngoài ra, bạn cũng có thể giới thiệu những người bình luận hàng đầu, liên kết trở lại trang web của họ trong quá trình này. Ở đây chúng tôi sẽ tạo một Mẫu trang chuyên dụng để hiển thị những bình luận và bình luận đó ở một nơi.


Nói tóm lại, hướng dẫn này sẽ dạy bạn cách:

  1. tạo một mẫu trang,
  2. sử dụng các truy vấn SQL trong mã của bạn để tìm nạp các nhận xét với các tham số khác nhau,
  3. tạo một phần của Trang mà Quản trị viên chỉ có thể xem được,
  4. thêm hỗ trợ cho một plugin liên quan đến bình luận.

Tạo một mẫu trang

Cách dễ nhất để tạo Mẫu trang là mở tệp page.php trong chủ đề của bạn, trông sẽ giống như thế này:

<?php get_header (); ?>

<?php if (have_posts ()): while (have_posts ()): the_post (); ?>

<?php the_title (); ?>

<?php the_content (); ?>

<?php bình luận_template (); ?>
<?php cuối cùng; endif; ?>

<?php get_sidebar (); ?>
<?php get_footer (); ?>

Sao chép và dán nội dung page.php và thêm nội dung này lên trên cùng:

<?php
/ *
Tên mẫu: Bình luận trung tâm
* /
?>

Và lưu nó. Không có quy tắc thực sự nào về cách đặt tên tệp Mẫu trang, nhưng đó là một ý tưởng hay để đi kèm với tiền tố để làm cho nó dễ nhận biết, nói rằng pt pt-comment-trung tâm. Chúng tôi đã bổ sung bất cứ điều gì vào Mẫu trang này, nhưng nó có thể chạy và chạy và có thể chọn trên khu vực bảng điều khiển Trang mới.

Lấy bình luận

Đối với Mẫu trang này, chúng tôi sẽ có bốn khía cạnh khác nhau của nhận xét:

  • Những ý kiến ​​gần đây,
  • Trackbacks / Pingbacks gần đây,
  • Bình luận viên hàng đầu,
  • Bài viết được bình luận nhiều nhất,

Đầu tiên, chúng tôi sẽ làm Những ý kiến ​​gần đây:

Những ý kiến ​​gần đây

    <?php
    $ tối đa = 7; // mục số để nhận
    $ wpdb toàn cầu;
    $ sql = "CHỌN c. *, P.post_title TỪ $ wpdb->bình luận c INNER THAM GIA $ wpdb->bài đăng p ON (c.comment_post_id = p.ID) WHERE comment_approved = ‘1’ VÀ comment_type không có trong (‘trackback’, ‘pingback’) ĐẶT HÀNG THEO bình luận_date DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ mẫu = ‘% g % an trên % pt‘;

    $ lặp lại = 0;
    foreach ($ kết quả là $ hàng) {
    $ tags = mảng (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ thay thế = mảng ($ hàng->bình luận, tiêu đề $->bình luận_date, get_avatar ($ hàng->bình luận_ Tác giả_email, ’32 ‘), $ hàng->post_title, get_permalink ($ hàng->bình luận_post_ID), $ hàng->bình luận_ Tác giả_url, $ hàng->bình luận tác giả, $ hàng->bình luận_ID);
    tiếng vang ‘

  • ‘. str numplace (thẻ $, thay thế $, mẫu $). ‘
  • ‘;
    $ lặp lại = 1;
    }
    if ($ echo == 0)
    tiếng vang ‘

  • Không tìm thấy bình luận.
  • ‘;
    ?>

Truy vấn SQL yêu cầu tất cả các nhận xét được phê duyệt được sắp xếp theo ngày (mới nhất trước tiên). $ max là nơi chúng tôi đặt số lượng bình luận nhận được, 7 trong trường hợp của chúng tôi. Đầu ra của mã ở trên sẽ là một danh sách các ý kiến ​​gần đây không được sắp xếp:

Danh sách những bình luận gần đây

Với một chút CSS, chúng ta có thể điều chỉnh nó để trông đẹp hơn:

# cc-Recent-bình luận li {
chiều rộng: 100%;
phao: trái;
list-style-type: none;
}

# cc-Recent-bình luận li img {
phao: trái;
lề trên: -5px;
}

Danh sách các bình luận gần đây với CSS thích hợp

$ template xác định cách văn bản thực tế sẽ được viết; cái này dựa trên định dạng của Bình luận WP, và bạn có thể theo liên kết đó để tìm hiểu thêm về việc tùy chỉnh nó (tìm tokens,).

Tiếp theo là Pingbacks / Trackbacks gần đây:

Pingbacks / Trackbacks gần đây

    <?php
    $ sql = "CHỌN c. *, P.post_title TỪ $ wpdb->bình luận c INNER THAM GIA $ wpdb->bài đăng p ON (c.comment_post_id = p.ID) WHERE comment_approved = ‘1’ VÀ comment_type không có trong (‘trackback’, ‘pingback’) ĐẶT HÀNG THEO bình luận";
    $ results = $ wpdb->get_results ($ sql);

    $ mẫu = ‘% g % an trên % pt‘;

    $ lặp lại = 0;
    foreach ($ kết quả là $ hàng) {
    $ tags = mảng (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ thay thế = mảng ($ hàng->bình luận, tiêu đề $->bình luận_date, get_avatar ($ hàng->bình luận_ Tác giả_email, ’32 ‘), $ hàng->post_title, get_permalink ($ hàng->bình luận_post_ID), $ hàng->bình luận_ Tác giả_url, $ hàng->bình luận tác giả, $ hàng->bình luận_ID);
    tiếng vang ‘

  • ‘. str numplace (thẻ $, thay thế $, mẫu $). ‘
  • ‘;
    $ lặp lại = 1;
    }
    if ($ echo == 0)
    tiếng vang ‘

  • Không tìm thấy bình luận.
  • ‘;
    ?>

Đoạn mã trên rất giống với đoạn mã chúng tôi có trong các Nhận xét gần đây, điểm khác biệt duy nhất là hiện tại chúng tôi đang yêu cầu nhận xét với ‘comment_type, bên dưới‘ pingback Hồi / ‘trackback, và mẫu cũng hơi khác một chút. Kết quả:

Danh sách Pingbacks và Trackbacks gần đây

Đây là mã cho Bình luận viên hàng đầu:

Bình luận viên hàng đầu

    <?php
    $ sql = "CHỌN bình luận_ Tác giả, bình luận_ Tác giả_url, bình luận_ Tác giả_email, đếm (bình luận_ID) là bình luận_count TỪ $ wpdb->bình luận WHERE comment_approved = ‘1’ VÀ comment_type không có trong (‘trackback’, ‘pingback’) NHÓM BY comment_ Tác giả, bình luận_ Author_url, comment_master_email ĐẶT HÀNG theo bình luận_count DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ mẫu = ‘% g% một (% c ý kiến) ‘;

    $ lặp lại = 0;
    foreach ($ kết quả là $ hàng) {
    $ tags = mảng (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ thay thế = mảng (get_avatar ($ hàng->bình luận_ Tác giả_email, ’32 ‘), $ hàng->bình luận_ Tác giả_url, $ hàng->bình luận tác giả, $ hàng->đếm Bình luận);
    tiếng vang ‘

  • ‘. str numplace (thẻ $, thay thế $, mẫu $). ‘
  • ‘;
    $ lặp lại = 1;
    }
    if ($ echo == 0)
    tiếng vang ‘

  • Không tìm thấy bình luận.
  • ‘;
    ?>

Không có gì quá tâm trí ở đó. Đừng để ý get_avatar () tuy nhiên, chức năng này sẽ cung cấp cho bạn Gravatar cho bất kỳ ai có địa chỉ email bạn chỉ định. Trong trường hợp này, chúng tôi tìm nạp hình ảnh đại diện bằng cách sử dụng địa chỉ email của người bình luận. Với CSS tương tự như CSS mà chúng tôi có cho các nhận xét gần đây, chúng tôi có thể có kết quả này:

# cc-top-bình luận li {
chiều rộng: 100%;
phao: trái;
list-style-type: none;
}

# cc-top-bình luận li img {
phao: trái;
lề trên: -5px;
}

Danh sách những người bình luận hàng đầu

Cuối cùng là Bài viết được bình luận nhiều nhất:

Bài viết được bình luận nhiều nhất

    $ sql = "CHỌN p. *, C.comment_count TỪ $ wpdb->bài đăng p INNER THAM GIA (CHỌN bình luận_post_id, đếm (bình luận_ID) dưới dạng bình luận_count từ $ wpdb->bình luận WHERE comment_approved = ‘1’ NHÓM THEO bình luận_post_id) c ON (c.comment_post_id = p.ID) ĐẶT HÀNG B cNG c.comment_count DESC LIMIT $ max";
    $ results = $ wpdb->get_results ($ sql);

    $ mẫu = ‘% pt (% c ý kiến) ‘;

    $ lặp lại = 0;
    foreach ($ kết quả là $ hàng) {
    $ tags = mảng (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ thay thế = mảng ($ hàng->post_date, $ hàng->post_title, get_permalink ($ hàng->ID), $ hàng->đếm Bình luận);
    tiếng vang ‘

  • ‘. str numplace (thẻ $, thay thế $, mẫu $). ‘
  • ‘;
    $ lặp lại = 1;
    }
    if ($ echo == 0)
    tiếng vang ‘

  • Không tìm thấy bình luận.
  • ‘;
    ?>

Danh sách bài viết được bình luận nhiều nhất

Và đó là điều đó. Tiếp theo, chúng tôi sẽ thêm một số điều thú vị bằng cách thêm một số nội dung mà chỉ quản trị viên mới có thể thấy.

Thông tin chỉ dành cho quản trị viên

Để chỉ hiển thị nội dung cho quản trị viên, chúng tôi có thể sử dụng đoạn mã này từ WPCandy:

<?php
toàn cầu $ user_ID;
if ($ user_ID):
if (current_user_can (‘level_10’)):
// công cụ chỉ dành cho quản trị viên ở đây.
endif;
endif; ?>

Bây giờ trên Bảng điều khiển, chúng tôi có được một cái nhìn nhanh về tổng số trang web, đã được phê duyệt, đang chờ xem xét và nhận xét spam. Hãy để sao chép này cho Mẫu trang của chúng tôi để truy cập dễ dàng hơn, chỉ dành cho quản trị viên:

<?php
$ num_comm = wp_count_comments ();
?>
Tổng số ý kiến: /wp-admin/edit-comments.php? “><?Tiếng vang php $ num_comm->Total_comments; ?>
Tán thành: /wp-admin/edit-comments.php?comment_status=approved “><?Tiếng vang php $ num_comm->tán thành; ?>
Kiểm duyệt: /wp-admin/edit-comments.php?comment_status=moderated “><?Tiếng vang php $ num_comm->kiểm duyệt; ?>
Thư rác: /wp-admin/edit-comments.php?comment_status=spam “><?Tiếng vang php $ num_comm->Thư rác; ?>

quản trị viên

wp_count_comments () là một hàm gọn gàng trả về một mảng các số chỉ số nhận xét khác nhau. Chúng tôi cũng đang thêm các liên kết đến khu vực quản trị bình luận tương ứng.

Thêm một số tia lửa

Cuối cùng, giả sử bạn tìm thấy các plugin liên quan đến nhận xét thú vị mà bạn muốn kết hợp vào Mẫu trang này. Thay vì thêm nhiều mã, hãy để chỉ cần thêm hỗ trợ cho nó. Trong ví dụ này, tôi sẽ đi cùng Hoạt động tia lửa plugin, có thể hiển thị một biểu đồ kiểu ‘Sparkline trong thanh bên của bạn cho biết hoạt động của bài đăng và / hoặc bình luận. Âm thanh tuyệt vời với tôi.

Thông thường, một tệp plugin readme.txt của plugin sẽ hướng dẫn bạn cách thêm nó vào các tệp chủ đề. Trong trường hợp của chúng tôi, mã có thể như thế này:

<?php
if (function_exists (‘Activitysparks’)) {
Activitysparks (mảng (‘tập dữ liệu’ =>’huyền thoại’, ‘height_px’ =>100, ‘width_px’ =>600, ‘thời gian’ =>30, ‘tích tắc’ =>24));
}
?>

Plugin ActivitySparks

function_exists () kiểm tra xem một chức năng cụ thể có sẵn không; trong trường hợp của chúng tôi, chức năng Activitysparks, sẽ có sẵn nếu plugin đã được tải lên và kích hoạt. Nếu nó ở đó, chúng tôi hiển thị biểu đồ. Nếu không, Mẫu trang của chúng tôi đã giành được hiển thị bất cứ điều gì (nhưng nó vẫn sẽ chạy tốt, không có lỗi).

Kết quả và ví dụ

Một ví dụ về Mẫu trang này là có sẵn ở đây. Nó sử dụng các mã bạn thấy ở đây với một vài sửa đổi, chủ yếu là để giữ cấu trúc HTML phù hợp với phần còn lại của trang web. Toàn bộ mã cho Mẫu trang đó có sẵn tại Pastebin.

Tín dụng và bài đọc thêm

  • Các mã được sử dụng để hiển thị các bình luận gần đây và hàng đầu được lấy từ Bình luận WP cắm vào. Hãy xem mã của nó để tìm hiểu thêm những điều cần làm với các bình luận, như loại trừ các bình luận của quản trị viên khỏi các bình luận viên hàng đầu hoặc cách chỉ đưa vào tài khoản các bình luận gần đây. Mẫu $ chúng tôi sử dụng để định dạng đầu ra cũng có thể được học thêm từ trang đó.
  • Tạo mẫu trang của riêng bạn trên Codex WordPress.
  • Hiển thị hướng dẫn nội dung chỉ dành cho quản trị viên trên WPCandy.
  • Jeffrey Wilson Administrator
    Sorry! The Author has not filled his profile.
    follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map