1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm Hiểu về Wordpress - part 29 doc

10 345 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

7.4.7 Moderation Links in the Theme Itself As described in Chapter 5.3.4 Extending WordPress, adding some easy admin buttons is a great way to improve the comment-moderation process for

Trang 1

3 Your loop should now contain the following (along with other template tags,

markup, etc.):

<?php foreach ($comments as $comment) : ?>

<?php comment_text(); ?>

<?php if ($comment->comment_approved == '0') : ?>

<p class="moderation">Your comment is awaiting moderation.</p>

<?php endif; ?>

<?php endforeach; ?>

That’s all there is to it! Season to taste and enjoy your site’s improved usability!

7.4.7 Moderation Links in the Theme Itself

As described in Chapter 5.3.4 (Extending WordPress), adding some easy admin

buttons is a great way to improve the comment-moderation process for your site

In addition to managing comments through the WordPress Comments Admin area,

it is also helpful to have some easy admin buttons located next to the comments as

they appear on your blog Here is an easy way to add “spam” and “delete” links

next to each comment whenever you are logged in as Administrator Having access

to spam and delete buttons next to each comment makes it super-easy to clean up

missed spam, scummy trackbacks, and other garbage I am continually scouring my

old posts’ comments and weeding out junk, which for me is always easier to see

from the actual post pages themselves Having quick and easy access to spam and

delete buttons has made my comment management routine considerably easier

To add this functionality, we take advantage of the functions.php file by adding

the following script:

<?php // spam & delete links for all versions of WordPress

function delete_comment_link($id) {

Trang 2

if (current_user_can('edit_post')) {

echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?a ction=cdc&c='.$id.'">Delete</a> ';

echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?a ction=cdc&dt=spam&c='.$id.'">Spam</a>';

} } ?>

Place this function in your theme’s functions.php file, and then call the function by adding the following code to the desired location in your comments.php file:

<?php delete_comment_link(get_comment_ID()); ?>

And that’s all there is to it! Depending on the placement of the function call, your comments area should now feature quick and easy “spam” and “delete” buttons next to each individual comment Even better, this improved function is version-independent, backwards-compatible, and thus will work for any version

of WordPress

7.4.8 Display Comment, Ping/Trackback Counts

One more trick before we dig into optimization Here is a way to easily display the number of comments, pingbacks, and trackbacks for each of your posts Open your theme’s single.php file and add the following parameters to your comments_ template() tag:

<?php comments_template('/comments.php', true); ?>

Then to display the counts, simply use any of the following snippets in your comments template:

Trang 3

<?php global $wp_query; // this line required for any of the following ?>

<?php // pingback and trackback count

echo count($wp_query->comments_by_type['pings']); ?>

<?php // trackback count

echo count($wp_query->comments_by_type['trackback']); ?>

<?php // pingback count

echo count($wp_query->comments_by_type['pingback']); ?>

<?php // comment count

echo count($wp_query->comments_by_type['comments']); ?>

7.5.1 Optimizing the Comment Form

As we improve the quality of our readers’ comments, let’s not forget about the

comment form itself There are many ways to improve the functionality and

appearance of your comment form, including adding a preview feature, rich-text

editor, and anti-spam functionality Let’s dig in!

7.5.2 Set up Comment Previews

Encourage your visitors to contribute to the conversation by

helping them preview their comments before submission By

adding a comment-preview feature to your comment area,

you provide readers with a powerful tool for eliminating

Unstyled Forms

Even very well-marked-up forms look like crap without CSS Whaddyagonnado?

Just Numbers

Each of these tags outputs a number, namely the number of pings, trackbacks, pingbacks, and comments, respectively.

WordPress 3.0 makes it easier than ever to include comment forms in

your themes Simply add the following tag to your comments.php file:

<?php comment_form(); ?>

Drop-Dead Easy Comment Forms

Trang 4

errors, reducing noise, and increasing quality And best of all, adding comment-preview to your site is as easy as installing and configuring one of these plugins:

• Ajax Comment Preview http://digwp.com/u/2

Provides an excellent Ajax-powered comment-preview plugin that works and feels great Admin Options page lets you specify formatting options

• Ajax Force Comment Preview http://digwp.com/u/194

This plugin takes the utility of comment previews one step further by actually

“forcing” commentators to preview their comments before submission The plugin takes advantage of Ajax to avoid the need for a page refresh Features built-in anti-spam functionality

• jQuery Comment Preview WordPress Plugin http://digwp.com/u/40

jQuery Comment Preview uses the jQuery library to generate built-in comment previews that do not require refreshing the page Includes Admin Options page

• Live Comment Preview http://digwp.com/u/39

Live Comment Preview provides a “smooth live preview as you type.” This cool plugin makes live comment previews super easy – simply activate and enjoy No Ajax required – works completely in the browser

• Really Simple Live Comment Preview http://digwp.com/u/41

A do-it-yourself tutorial that has received a lot of attention The author keeps the article updated with the latest code and improvements, so if you need to implement a custom live-comment-preview solution, be sure to check it out

• Filosofo Comments Preview http://digwp.com/u/42

This well-built plugin works great with many WordPress themes and even works with WordPress-2.7’s new threaded comments feature Includes Admin Options page for complete control over appearance and functionality

7.5.3 Rich-Text Editors for Comments

Out of the box, most WordPress themes provide a plain <textarea> for comments This may work fine for savvy users who are familiar with a bit of HTML to add some

Trang 5

structure to their comments, but what about the average visitor who may not

realize that such markup is possible

Fortunately, there are many options available for enabling your visitors to style

their comment with simple markup using a rich-text editor Let’s look at some of

the best rich-text editors and plugins available for your comment form:

• TinyMCEComments http://digwp.com/u/46

TinyMCEComments transforms your comment textarea into a full-featured

WYSIWYG rich-text editor using WordPress’ bundled TinyMCE library (WordPress

2.0 and up)

• TinyMCE http://digwp.com/u/47

TinyMCE is a popular open-source rich-text editor that is easy to integrate with

your site Highly customizable with themes and plugins International language

support, multiple browser support, Ajax support, and more One of the best

Include Comments on Non-Single Pages

Normally, WordPress will only display your comments template file, comments.php , when called from your theme’s single.php or any

page.php file This makes it possible to display comments on single posts and pages, but for archive views such as categories and

indexes, you need to add a variable into the mix Here’s how to display a comments template in any archive or index page.

Replace your regular comments_template() tag – you know, the tag used to call your comments.php file – with this one:

<?php global $withcomments; $withcomments = true; comments_template("/custom-comments.php"); ?>

This will include the file named “ custom-comments.php ” and use its contents to display your comments Nice!

Alternately, if you are only displaying a single post on, say, your index page, you can simply include your comments template

within the loop:

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

<?php comments_template(); ?>

<?php endwhile; ?>

Trang 6

• CKEditor http://digwp.com/u/48 CKEditor (recently changed from FCKEditor) is another popular open-source rich-text editor that is easy to integrate with your site This awesome editor includes image-uploading, layout templates, custom styles, and even Adobe AIR support Works and looks great in all modern browsers Four stars!

• WidgEditor http://digwp.com/u/49 WidgEditor is an easy-to-use open-source rich-text editor by Cameron Adams This is not a plugin, but is a breeze to implement Uses clean, easy-to-read JavaScript that degrades gracefully

• MarkItUp! http://digwp.com/u/50 MarkItUp! is a rich-text editor built on top of jQuery Includes Ajax live preview, keyboard-shortcut support, and weighs only 6.5kb An excellent solution for transforming any HTML textarea into a full-featured WYSIWYG text editor

• Damn Small Rich Text Editor http://digwp.com/u/51 Damn Small Rich Text Editor is a free, lightweight rich-text editor designed to work with jQuery and PHP Includes image-uploading capabilities and is plugin-enabled

• WMD: The WYSIWYM Markdown Editor http://digwp.com/u/52

“What You See Is What You Mean” uses the Markdown language to mark up

comments, which then transforms into HTML when the comment is saved

Comes with a nice editor bar as well as automatic live comment previews

7.5.4 Adding Comment Quicktags

One of the best ways to enhance the functionality of WordPress comments is to implement comment quicktags Quicktags are JavaScript buttons included with the comment form that provide shortcuts to a variety of common markup elements While typing their comments, users may want to use some bold or emphasized text, or maybe even drop a killer blockquote or a few lines of code

Comment quicktags enable commentators to format their comment with the appropriate markup easily with the click of a button It’s a great feature that makes

Rich Text Editors

For more RTE choices, check

out " Rich-Text Editors for

2010 and Beyond" at Six

Revisions:

http://digwp.com/u/496

Trang 7

leaving a comment so much fun Sound good? Here are some comment-quicktag

plugins to make it happen:

• LMB^Box Comment Quicktags http://digwp.com/u/43

The LMB^Box Comment Quicktags plugin adds a Quicktag Toolbar directly

above the comment form’s text area The LMB^Box Quicktag Toolbar looks and

functions exactly like the toolbar used in the WordPress Admin area, and may

be styled to fit your site’s design The toolbar provides quicktags for strong/

bold, em/italic, code, blockquote, and links tags by default, and the set of

buttons is completely configurable via its Admin Options page

• Comment Quicktags http://digwp.com/u/44

Inserts an expandable quicktag toolbar above the WordPress comment form

You can customize the default CSS styles and add your own (X)HTML buttons,

all from within a handy admin interface Very nice

Display Comments in Descending Order

By default, WordPress displays comments in chronological order: oldest comments first, newest comments last To reverse this

order, we can take advantage of PHP’s awesome array_reverse function Here’s how:

1 Place the following code directly before your comment loop:

<?php $comments = array_reverse($comments, true); ?>

2 Your comment loop should now look similar to this:

<?php $comments = array_reverse($comments, true); ?>

<?php foreach ($comments as $comment) : ?>

<?php comment_author_link(); ?>

<?php comment_text() ?>

<?php endforeach; ?>

Trang 8

• Comment Form Quicktags http://digwp.com/u/45 This plugin inserts quicktags of the admin page to the upper part of textarea of the comment form Provides easy tag configuration via the WordPress Admin

• Comment Quicktags Reloaded http://digwp.com/u/195

A slightly modified version of Owen Winkler’s Comment Quicktags plugin If the original Comment Quicktags plugin is breaking your theme, try this version

7.5.5 Comment Management and Spam Prevention

Properly managing your comments can be as time-consuming as it is important Sites with carefully managed comments sections are miles apart from sites that don’t But it takes time, patience, and a good amount of attention to detail

Fortunately, when it comes to monitoring, moderating, and pruning comments, there are plenty of awesome plugins to help automate, improve, and enhance the process of filtering out spam and encouraging comments We explore some of these tools in the final three sections of this chapter

7.6.1 Controlling Comment Spam

Ahh yes The wonderful world of comment spam By now, we assume that everyone is well-acquainted with the never-ending and utterly hellish spam battle

It rages constantly, with desperate Viagra and Cialis spammers seeking every opportunity to flood your otherwise pristine comments area with a truckload of

their stinky garbage Eww…

Fortunately, all of the smart people are on our side, and there are many talented

developers who continue to fight spam on the front lines Fortunately, because

of the popularity of WordPress, we enjoy a vast arsenal of effective anti-spam techniques for our sites Let’s explore some of the best

Trang 9

7.6.2 WordPress’ Built-In Anti-Spam Functionality

With all of the excellent plugins available, many users don’t realize that WordPress

provides some powerful tools for controlling spam right out of the box Within the

Discussion page of the WordPress Admin area, there are several options that are

useful for controlling comments and preventing spam Let’s take a quick look at

each these options

• Default Article Settings - If you don’t need comments on your site, disable

them Completely disabling comments is a sure-fire, bulletproof way to

eliminate all comment spam.

• Users must be registered and logged in to comment - One way to allow

comments but eliminate 90% (or more) of spam is to require the user to be

registered and logged-in to your site before commenting

• Before a comment appears - An administrator must always approve the

comment If you have the time, this is another good way to ensure that no spam

comments appear on your site

• Before a comment appears - Comment author must fill out name and e-mail

This may not do much for fighting spam, but it will discourage some of the

lazier folks from commenting

No Plugins, No Spam

It’s true By carefully crafting your WordPress blog’s built-in comment settings, it is entirely possible to run a virtually spam-free site with absolutely

no plugins whatsoever – Not even Akismet Read more at:

http://digwp.com/u/416

Trang 10

• Before a comment appears - Comment author must have a previously

approved comment This is an effective way to prevent spam, although it does require some time on busier sites

• Auto-close Comments - Spammers often target older posts Auto-closing

comments on old posts helps reduce overall spam

• Hold a comment in the queue if it contains “x” or more links - As it says,

this is a great way to screen any comments that have too many links How many

is up to you

• Comment Moderation Blacklist - This is a regular-expression blacklist of

terms that will kick suspect comments into the moderation queue Load this puppy up with all your favorite spam words – cialis, xanax, vicodin, viagra, etc – and gain more control over your site’s comments

• Comment Spam Blacklist - Similar to the Moderation Blacklist, the Spam

Blacklist features a list of regular expressions that will throw the comment into the spam bin Be careful of the words that you include in this list, because anything that matches is essentially discarded

7.6.3 Anti-Spam Plugins for WordPress

• Akismet http://digwp.com/u/95 One of the best Requires registration key Easy to use Bundled with WordPress Excellent spam protection ‘Nuf said

• Defensio Anti-Spam http://digwp.com/u/96 Advanced spam-filtering web-service that adapts to your blog’s behavior

Features statistics, feeds, and spam counters Not to be used with any other anti-spam plugins If Akismet isn’t cutting it for you, try Defensio

• Peter’s Custom Anti-Spam http://digwp.com/u/97 CAPTCHA-based anti-spam plugin Forces all commentators to identify a random word before comment submission Words are displayed as images and are

completely customizable

Blacklist Ninja

For a highly effective, custom

blacklist of regular expressions

for your site’s Comment

Moderation or Spam Blacklist,

drop by Perishable Press and

grab a copy:

http://digwp.com/u/196

Ngày đăng: 04/07/2014, 21:20