Disqus Comment System - Version 2.12.7112

Version Description

Download this release

Release Info

Developer Disqus
Plugin Icon Disqus Comment System
Version 2.12.7112
Comparing to
See all releases

Code changes from version 2.11.4349 to 2.12.7112

Files changed (6) hide show
  1. comments.php +3 -2
  2. disqus.php +25 -9
  3. export.php +2 -47
  4. lib/api.php +2 -1
  5. manage.php +16 -16
  6. readme.txt +1 -1
comments.php CHANGED
@@ -49,7 +49,8 @@
49
  'author_name': '<?php echo htmlspecialchars(get_comment_author(), ENT_QUOTES); ?>',
50
  'author_url': '<?php echo htmlspecialchars(get_comment_author_url(), ENT_QUOTES); ?>',
51
  'date': '<?php comment_date('m/d/Y h:i A'); ?>',
52
- 'excerpt': '<?php echo htmlspecialchars(get_comment_excerpt(), ENT_QUOTES); ?>'
 
53
  }
54
  <?php
55
  $count++;
@@ -61,4 +62,4 @@
61
  };
62
  </script>
63
 
64
- <script type="text/javascript" charset="utf-8" src="<?php echo DISQUS_API_URL; ?>/scripts/<?php echo strtolower(get_option('disqus_forum_url')); ?>/disqus.js?v=2.0&slug=<?php echo $dsq_response['thread_slug']; ?>&pname=wordpress&pver=<?php echo $dsq_version; ?>"></script>
49
  'author_name': '<?php echo htmlspecialchars(get_comment_author(), ENT_QUOTES); ?>',
50
  'author_url': '<?php echo htmlspecialchars(get_comment_author_url(), ENT_QUOTES); ?>',
51
  'date': '<?php comment_date('m/d/Y h:i A'); ?>',
52
+ 'excerpt': '<?php echo str_replace(array("\r\n", "\n", "\r"), '<br />', htmlspecialchars(get_comment_excerpt(), ENT_QUOTES)); ?>',
53
+ 'type': '<?php echo $comment_type; ?>'
54
  }
55
  <?php
56
  $count++;
62
  };
63
  </script>
64
 
65
+ <script type="text/javascript" charset="utf-8" src="http://<?php echo strtolower(get_option('disqus_forum_url')); ?>.<?php echo DISQUS_DOMAIN; ?>/disqus.js?v=2.0&slug=<?php echo $dsq_response['thread_slug']; ?>&pname=wordpress&pver=<?php echo $dsq_version; ?>"></script>
disqus.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: DISQUS Comment System
4
  Plugin URI: http://disqus.com/
5
  Description: The DISQUS comment system replaces your WordPress comment system with your comments hosted and powered by DISQUS. Head over to the Comments admin page to set up your DISQUS Comment System.
6
  Author: DISQUS.com <team@disqus.com>
7
- Version: 2.11.4349
8
  Author URI: http://disqus.com/
9
 
10
  */
@@ -49,7 +49,8 @@ define('DSQ_PLUGIN_URL', WP_CONTENT_URL . '/plugins/' . dsq_plugin_basename(__FI
49
  * @global string $dsq_version
50
  * @since 1.0
51
  */
52
- $dsq_version = '2.11';
 
53
  /**
54
  * Response from DISQUS get_thread API call for comments template.
55
  *
@@ -78,7 +79,13 @@ $dsq_cc_script_embedded = false;
78
  * @since 1.0
79
  */
80
  $dsq_api = new DisqusAPI(get_option('disqus_forum_url'), get_option('disqus_api_key'));
81
-
 
 
 
 
 
 
82
 
83
  /**
84
  * Helper functions.
@@ -265,12 +272,16 @@ function dsq_comments_template($value) {
265
  }
266
 
267
  function dsq_comment_count() {
268
- global $dsq_cc_script_embedded;
269
 
270
  if ( $dsq_cc_script_embedded ) {
271
  return;
272
  } else if ( (is_single() || is_page() || $withcomments || is_feed()) ) {
273
  return;
 
 
 
 
274
  }
275
 
276
  ?>
@@ -286,7 +297,8 @@ function dsq_comment_count() {
286
  query += 'wpid' + i + '=' + encodeURIComponent(links[i].getAttribute('wpid')) + '&';
287
  }
288
  }
289
- document.write('<script charset="utf-8" type="text/javascript" src="<?php echo DISQUS_URL ?>/forums/<?php echo strtolower(get_option('disqus_forum_url')); ?>/get_num_replies_from_wpid.js?v=2.0' + query + '"><' + '/script>');
 
290
  })();
291
  //]]>
292
  </script>
@@ -322,7 +334,11 @@ function dsq_bloginfo_url($url) {
322
 
323
  // For WordPress 2.0.x
324
  function dsq_loop_start() {
325
- global $comment_count_cache;
 
 
 
 
326
 
327
  if ( isset($comment_count_cache) ) {
328
  foreach ( $comment_count_cache as $key => $value ) {
@@ -362,11 +378,11 @@ function dsq_warning() {
362
  global $wp_version;
363
 
364
  if ( !get_option('disqus_forum_url') && !isset($_POST['forum_url']) && $_GET['page'] != 'disqus' ) {
365
- dsq_manage_dialog('You must <a href="edit-comments.php?page=disqus">configure the plugin</a> to enable the DISQUS comment system.', true);
366
  }
367
 
368
  if ( dsq_legacy_mode() && $_GET['page'] == 'disqus' ) {
369
- dsq_manage_dialog('DISQUS is running in legacy mode. (<a href="edit-comments.php?page=disqus">Click here to configure</a>)');
370
  }
371
  }
372
 
@@ -375,7 +391,7 @@ function dsq_check_version() {
375
 
376
  $latest_version = $dsq_api->wp_check_version();
377
  if ( $latest_version ) {
378
- dsq_manage_dialog('You are running an old version of the DISQUS plugin. Please <a href="http://blog.disqus.net">check the blog</a> for updates.');
379
  }
380
  }
381
 
4
  Plugin URI: http://disqus.com/
5
  Description: The DISQUS comment system replaces your WordPress comment system with your comments hosted and powered by DISQUS. Head over to the Comments admin page to set up your DISQUS Comment System.
6
  Author: DISQUS.com <team@disqus.com>
7
+ Version: 2.12.7112
8
  Author URI: http://disqus.com/
9
 
10
  */
49
  * @global string $dsq_version
50
  * @since 1.0
51
  */
52
+ $dsq_version = '2.12';
53
+ $mt_dsq_version = '2.01';
54
  /**
55
  * Response from DISQUS get_thread API call for comments template.
56
  *
79
  * @since 1.0
80
  */
81
  $dsq_api = new DisqusAPI(get_option('disqus_forum_url'), get_option('disqus_api_key'));
82
+ /**
83
+ * Copy of global wp_query.
84
+ *
85
+ * @global WP_Query $dsq_wp_query
86
+ * @since 1.0
87
+ */
88
+ $dsq_wp_query = NULL;
89
 
90
  /**
91
  * Helper functions.
272
  }
273
 
274
  function dsq_comment_count() {
275
+ global $dsq_cc_script_embedded, $dsq_wp_query, $wp_query;
276
 
277
  if ( $dsq_cc_script_embedded ) {
278
  return;
279
  } else if ( (is_single() || is_page() || $withcomments || is_feed()) ) {
280
  return;
281
+ } else if ( $dsq_wp_query->is_feed ) {
282
+ // Protect ourselves from other plugins which begin their own loop
283
+ // and clobber $wp_query.
284
+ return;
285
  }
286
 
287
  ?>
297
  query += 'wpid' + i + '=' + encodeURIComponent(links[i].getAttribute('wpid')) + '&';
298
  }
299
  }
300
+ document.write('<script charset="utf-8" type="text/javascript" src="http://<?php echo strtolower(get_option('disqus_forum_url')); ?>.<?php echo DISQUS_DOMAIN; ?>/get_num_replies_from_wpid.js?v=2.0' + query + '"><' + '/script>');
301
+
302
  })();
303
  //]]>
304
  </script>
334
 
335
  // For WordPress 2.0.x
336
  function dsq_loop_start() {
337
+ global $comment_count_cache, $dsq_wp_query, $wp_query;
338
+
339
+ if ( !isset($dsq_wp_query) || is_null($dsq_wp_query) ) {
340
+ $dsq_wp_query = $wp_query;
341
+ }
342
 
343
  if ( isset($comment_count_cache) ) {
344
  foreach ( $comment_count_cache as $key => $value ) {
378
  global $wp_version;
379
 
380
  if ( !get_option('disqus_forum_url') && !isset($_POST['forum_url']) && $_GET['page'] != 'disqus' ) {
381
+ dsq_manage_dialog('You must <a href="edit-comments.php?page=disqus">configure the plugin</a> to enable Disqus Comments.', true);
382
  }
383
 
384
  if ( dsq_legacy_mode() && $_GET['page'] == 'disqus' ) {
385
+ dsq_manage_dialog('Disqus Comments has not yet been configured. (<a href="edit-comments.php?page=disqus">Click here to configure</a>)');
386
  }
387
  }
388
 
391
 
392
  $latest_version = $dsq_api->wp_check_version();
393
  if ( $latest_version ) {
394
+ dsq_manage_dialog('You are running an old version of the Disqus Comments plugin. Please <a href="http://disqus.com/comments/wordpress">check the website</a> for updates.');
395
  }
396
  }
397
 
export.php CHANGED
@@ -72,12 +72,6 @@ function dsq_export_wp() {
72
 
73
  $posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt ASC");
74
 
75
- if ( $wp_version < 2.1 ) {
76
- $categories = (array) $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename, category_description, category_parent FROM $wpdb->categories LEFT JOIN $wpdb->post2cat ON (category_id = cat_id) LEFT JOIN $wpdb->posts ON (post_id <=> id) $where GROUP BY cat_id");
77
- } else {
78
- $categories = (array) $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename, category_description, category_parent, posts_private, links_private FROM $wpdb->categories LEFT JOIN $wpdb->post2cat ON (category_id = cat_id) LEFT JOIN $wpdb->posts ON (post_id <=> id) $where GROUP BY cat_id");
79
- }
80
-
81
  function wxr_site_url() {
82
  global $current_site;
83
 
@@ -91,45 +85,6 @@ function dsq_export_wp() {
91
  }
92
  }
93
 
94
- function wxr_missing_parents($categories) {
95
- if ( !is_array($categories) || empty($categories) )
96
- return array();
97
-
98
- foreach ( $categories as $category )
99
- $parents[$category->cat_ID] = $category->category_parent;
100
-
101
- $parents = array_unique(array_diff($parents, array_keys($parents)));
102
-
103
- if ( $zero = array_search('0', $parents) )
104
- unset($parents[$zero]);
105
-
106
- return $parents;
107
- }
108
-
109
- while ( $parents = wxr_missing_parents($categories) ) {
110
- if ( $wp_version < 2.1 ) {
111
- $found_parents = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename, category_description, category_parent FROM $wpdb->categories WHERE cat_ID IN (" . join(', ', $parents) . ")");
112
- } else {
113
- $found_parents = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename, category_description, category_parent, posts_private, links_private FROM $wpdb->categories WHERE cat_ID IN (" . join(', ', $parents) . ")");
114
- }
115
- if ( is_array($found_parents) && count($found_parents) )
116
- $categories = array_merge($categories, $found_parents);
117
- else
118
- break;
119
- }
120
-
121
- // Put them in order to be inserted with no child going before its parent
122
- $pass = 0;
123
- $passes = 1000 + count($categories);
124
- while ( ( $cat = array_shift($categories) ) && ++$pass < $passes ) {
125
- if ( $cat->category_parent == 0 || isset($cats[$cat->category_parent]) ) {
126
- $cats[$cat->cat_ID] = $cat;
127
- } else {
128
- $categories[] = $cat;
129
- }
130
- }
131
- unset($categories);
132
-
133
  function wxr_cdata($str) {
134
  if ( seems_utf8($str) == false )
135
  $str = utf8_encode($str);
@@ -292,10 +247,10 @@ function dsq_export_wp() {
292
  unlink($filename);
293
 
294
  if ( $response < 0 ) {
295
- dsq_manage_dialog("There was an error exporting your comments. If your forum API key has changed, you may need to reinstall DISQUS. If you are still having issues, please contact <a href='mailto:help@disqus.com'>help@disqus.com</a>.", true);
296
  } else {
297
  update_option('disqus_last_import_id', $import_id);
298
- dsq_manage_dialog('Your comments have been queued for importing to DISQUS. You may check the advanced options tab for a status update.');
299
  }
300
  }
301
 
72
 
73
  $posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt ASC");
74
 
 
 
 
 
 
 
75
  function wxr_site_url() {
76
  global $current_site;
77
 
85
  }
86
  }
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  function wxr_cdata($str) {
89
  if ( seems_utf8($str) == false )
90
  $str = utf8_encode($str);
247
  unlink($filename);
248
 
249
  if ( $response < 0 ) {
250
+ dsq_manage_dialog("There was an error exporting your comments. If your API key has changed, you may need to reinstall DISQUS (deactivate the plugin and then reactivate it). If you are still having issues, refer to the <a href='http://disqus.com/comments/wordpress'>WordPress help page</a>.", true);
251
  } else {
252
  update_option('disqus_last_import_id', $import_id);
253
+ dsq_manage_dialog('Your comments have been queued for importing to DISQUS. You may check the advanced options tab for a status update.');
254
  }
255
  }
256
 
lib/api.php CHANGED
@@ -91,7 +91,8 @@ class DisqusAPI {
91
  'title' => $title,
92
  'message' => $excerpt,
93
  'api_key' => $this->forum_api_key,
94
- 'source' => 'DsqWordPress20'
 
95
  ));
96
 
97
  $data = unserialize($response['data']);
91
  'title' => $title,
92
  'message' => $excerpt,
93
  'api_key' => $this->forum_api_key,
94
+ 'source' => 'DsqWordPress20',
95
+ 'state_closed' => ($post->comment_status == 'closed') ? '1' : '0'
96
  ));
97
 
98
  $data = unserialize($response['data']);
manage.php CHANGED
@@ -33,7 +33,7 @@ if ( isset($_POST['uninstall']) ) {
33
  }
34
 
35
  // Clean-up POST parameters.
36
- foreach ( array('dsq_forum_url', 'dsq_username', 'dsq_password') as $key ) {
37
  if ( isset($_POST[$key]) ) { $_POST[$key] = strip_tags($_POST[$key]); }
38
  }
39
 
@@ -44,7 +44,7 @@ if ( isset($_POST['dsq_forum_url']) && isset($_POST['dsq_username']) && isset($_
44
 
45
  if ( is_numeric($api_key) && $api_key < 0 ) {
46
  update_option('disqus_replace', 'replace');
47
- dsq_manage_dialog('There was an error completing the installation of DISQUS. If you are still having issues, please contact <a href="mailto:help@disqus.com">help@disqus.com</a>.', true);
48
  } else {
49
  update_option('disqus_api_key', $api_key);
50
  update_option('disqus_replace', 'all');
@@ -111,7 +111,7 @@ switch ( $step ) {
111
  case 2:
112
  ?>
113
  <div id="dsq-step-2" class="dsq-main">
114
- <h2>Install DISQUS</h2>
115
 
116
  <form method="POST" action="?page=disqus">
117
  <?php wp_nonce_field('dsq-install-2'); ?>
@@ -129,14 +129,14 @@ foreach ( $dsq_sites as $counter => $dsq_site ):
129
  endforeach;
130
  ?>
131
  <hr />
132
- Or add a new one at <a href="http://disqus.com/add/">DISQUS.com</a>.
133
  </td>
134
  </tr>
135
  </table>
136
 
137
  <p class="submit" style="text-align: left">
138
  <input type="hidden" name="dsq_username" value="<?php echo $_POST['dsq_username']; ?>">
139
- <input type="hidden" name="dsq_password" value="<?php echo $_POST['dsq_password']; ?>">
140
  <input name="submit" type="submit" value="Next &raquo;" />
141
  </p>
142
  </form>
@@ -146,7 +146,7 @@ endforeach;
146
  case 1:
147
  ?>
148
  <div id="dsq-step-1" class="dsq-main">
149
- <h2>Install DISQUS</h2>
150
 
151
  <form method="POST" action="?page=disqus&step=2">
152
  <?php wp_nonce_field('dsq-install-1'); ?>
@@ -155,7 +155,7 @@ case 1:
155
  <th scope="row" valign="top">Username</th>
156
  <td>
157
  <input id="dsq-username" name="dsq_username" tabindex="1">
158
- <a href="http://disqus.com/signup/">(don't have a DISQUS account yet?)</a>
159
  </td>
160
  </tr>
161
  <tr>
@@ -179,7 +179,7 @@ case 1:
179
  case 0:
180
  ?>
181
  <div class="dsq-main">
182
- <h2>DISQUS Comment System</h2>
183
  <hr />
184
  <iframe src="<?php echo DISQUS_API_URL; ?>/admin/moderate/<?php echo get_option('disqus_forum_url'); ?>/?template=wordpress" style="width: 100%; height: 800px"></iframe>
185
  </div>
@@ -214,25 +214,25 @@ if(function_exists('curl_init')) {
214
  <?php wp_nonce_field('dsq-advanced'); ?>
215
  <table class="form-table">
216
  <tr>
217
- <th scope="row" valign="top">DISQUS Short Name</th>
218
  <td>
219
  <input name="disqus_forum_url" value="<?php echo $dsq_forum_url; ?>" tabindex="1">
220
  <br />
221
- This is the unique identifier for your website on DISQUS.
222
  </td>
223
  </tr>
224
 
225
  <tr>
226
- <th scope="row" valign="top">DISQUS API Key</th>
227
  <td>
228
  <input type="text" name="disqus_api_key" value="<?php echo $dsq_api_key; ?>" tabindex="2">
229
  <br />
230
- This is set for you when going through the installation steps. Without it, the plugin runs in <a href="http://disqus.com/docs/wordpress/#legacy-mode" target="_blank">legacy mode</a>.
231
  </td>
232
  </tr>
233
 
234
  <tr>
235
- <th scope="row" valign="top">Use DISQUS on</th>
236
  <td>
237
  <select name="disqus_replace" tabindex="3" class="disqus-replace">
238
  <?php if ( dsq_legacy_mode() ) : ?>
@@ -263,7 +263,7 @@ if(function_exists('curl_init')) {
263
 
264
  <table class="form-table">
265
  <tr>
266
- <th scope="row" valign="top">Import comments into DISQUS</th>
267
  <td>
268
  <form action="?page=disqus" method="POST">
269
  <?php wp_nonce_field('dsq-export'); ?>
@@ -271,7 +271,7 @@ if(function_exists('curl_init')) {
271
  <?php if($dsq_last_import_id) : ?>
272
  onclick="return confirm('You\'ve already imported your comments. Are you sure you want to do this again?');"
273
  <?php endif; ?>
274
- > This will sync your WordPress comments with DISQUS
275
  <br />
276
  <span style="font-size: 14px;">
277
  <?php if($dsq_last_import_id) : ?>
@@ -289,7 +289,7 @@ if(function_exists('curl_init')) {
289
  </tr>
290
 
291
  <tr>
292
- <th scope="row" valign="top">Uninstall DISQUS</th>
293
  <td>
294
  <form action="?page=disqus" method="POST">
295
  <?php wp_nonce_field('dsq-uninstall'); ?>
33
  }
34
 
35
  // Clean-up POST parameters.
36
+ foreach ( array('dsq_forum_url', 'dsq_username') as $key ) {
37
  if ( isset($_POST[$key]) ) { $_POST[$key] = strip_tags($_POST[$key]); }
38
  }
39
 
44
 
45
  if ( is_numeric($api_key) && $api_key < 0 ) {
46
  update_option('disqus_replace', 'replace');
47
+ dsq_manage_dialog('There was an error completing the installation of Disqus. If you are still having issues, refer to the <a href="http://disqus.com/comments/wordpress">WordPress help page</a>.', true);
48
  } else {
49
  update_option('disqus_api_key', $api_key);
50
  update_option('disqus_replace', 'all');
111
  case 2:
112
  ?>
113
  <div id="dsq-step-2" class="dsq-main">
114
+ <h2>Install Disqus Comments</h2>
115
 
116
  <form method="POST" action="?page=disqus">
117
  <?php wp_nonce_field('dsq-install-2'); ?>
129
  endforeach;
130
  ?>
131
  <hr />
132
+ <a href="http://disqus.com/comments/register/">Or register a new one on the Disqus website</a>.
133
  </td>
134
  </tr>
135
  </table>
136
 
137
  <p class="submit" style="text-align: left">
138
  <input type="hidden" name="dsq_username" value="<?php echo $_POST['dsq_username']; ?>">
139
+ <input type="hidden" name="dsq_password" value="<?php echo str_replace('"', '&quot;', $_POST['dsq_password']); ?>">
140
  <input name="submit" type="submit" value="Next &raquo;" />
141
  </p>
142
  </form>
146
  case 1:
147
  ?>
148
  <div id="dsq-step-1" class="dsq-main">
149
+ <h2>Install Disqus Comments</h2>
150
 
151
  <form method="POST" action="?page=disqus&step=2">
152
  <?php wp_nonce_field('dsq-install-1'); ?>
155
  <th scope="row" valign="top">Username</th>
156
  <td>
157
  <input id="dsq-username" name="dsq_username" tabindex="1">
158
+ <a href="http://disqus.com/profile/">(don't have a Disqus Profile yet?)</a>
159
  </td>
160
  </tr>
161
  <tr>
179
  case 0:
180
  ?>
181
  <div class="dsq-main">
182
+ <h2>DISQUS Comments</h2>
183
  <hr />
184
  <iframe src="<?php echo DISQUS_API_URL; ?>/admin/moderate/<?php echo get_option('disqus_forum_url'); ?>/?template=wordpress" style="width: 100%; height: 800px"></iframe>
185
  </div>
214
  <?php wp_nonce_field('dsq-advanced'); ?>
215
  <table class="form-table">
216
  <tr>
217
+ <th scope="row" valign="top">Disqus short name</th>
218
  <td>
219
  <input name="disqus_forum_url" value="<?php echo $dsq_forum_url; ?>" tabindex="1">
220
  <br />
221
+ This is the unique identifier for your website on Disqus Comments.
222
  </td>
223
  </tr>
224
 
225
  <tr>
226
+ <th scope="row" valign="top">Disqus API Key</th>
227
  <td>
228
  <input type="text" name="disqus_api_key" value="<?php echo $dsq_api_key; ?>" tabindex="2">
229
  <br />
230
+ This is set for you when going through the installation steps.
231
  </td>
232
  </tr>
233
 
234
  <tr>
235
+ <th scope="row" valign="top">Use Disqus Comments on</th>
236
  <td>
237
  <select name="disqus_replace" tabindex="3" class="disqus-replace">
238
  <?php if ( dsq_legacy_mode() ) : ?>
263
 
264
  <table class="form-table">
265
  <tr>
266
+ <th scope="row" valign="top">Import comments into Disqus</th>
267
  <td>
268
  <form action="?page=disqus" method="POST">
269
  <?php wp_nonce_field('dsq-export'); ?>
271
  <?php if($dsq_last_import_id) : ?>
272
  onclick="return confirm('You\'ve already imported your comments. Are you sure you want to do this again?');"
273
  <?php endif; ?>
274
+ > This will sync your WordPress comments with Disqus
275
  <br />
276
  <span style="font-size: 14px;">
277
  <?php if($dsq_last_import_id) : ?>
289
  </tr>
290
 
291
  <tr>
292
+ <th scope="row" valign="top">Uninstall Disqus Comments</th>
293
  <td>
294
  <form action="?page=disqus" method="POST">
295
  <?php wp_nonce_field('dsq-uninstall'); ?>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: DISQUS.com <team@disqus.com>
3
  Tags: comments, threaded, email, notification, spam, avatars, community, profile, widget
4
  Requires at least: 2.0
5
  Tested up to: 2.7
6
- Stable tag: 2.11.4349
7
 
8
  The DISQUS comment system replaces your WordPress comment system with your comments hosted and powered by DISQUS.
9
 
3
  Tags: comments, threaded, email, notification, spam, avatars, community, profile, widget
4
  Requires at least: 2.0
5
  Tested up to: 2.7
6
+ Stable tag: 2.12.7112
7
 
8
  The DISQUS comment system replaces your WordPress comment system with your comments hosted and powered by DISQUS.
9