Yet Another Related Posts Plugin (YARPP) - Version 3.1.8

Version Description

  • Added Turkish localization (tr_TR)
  • Bugfix: related pages and "cross-relate posts and pages" functionality is now working again.
  • Some bare minimum changes for Multisite (WPMU) support.
  • Reimplemented the old "show only previous posts" option. May improve performance for sites with frequent new posts, as there is then no longer a need to recompute the previous posts' related posts set, as it cannot include the new post anyway.
  • Minor bugfix to threshold limiting.
  • Minor fix which may help reduce strip_tags() errors.
  • Updated FAQ.
  • Code cleanup.
Download this release

Release Info

Developer mitchoyoshitaka
Plugin Icon 128x128 Yet Another Related Posts Plugin (YARPP)
Version 3.1.8
Comparing to
See all releases

Code changes from version 3.1.7 to 3.1.8

Files changed (9) hide show
  1. includes.php +51 -49
  2. install.txt +1 -1
  3. keywords.php +0 -7
  4. lang/yarpp-tr_TR.mo +0 -0
  5. lang/yarpp-tr_TR.po +670 -0
  6. magic.php +25 -8
  7. options.php +18 -15
  8. readme.txt +49 -15
  9. yarpp.php +12 -12
includes.php CHANGED
@@ -9,6 +9,8 @@ if ( !defined('WP_CONTENT_URL') )
9
  define('WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
10
  if ( !defined('WP_CONTENT_DIR') )
11
  define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
 
 
12
 
13
  // here's a list of all the options YARPP uses (except version), as well as their default values, sans the yarpp_ prefix, split up into binary options and value options. These arrays are used in updating settings (options.php) and other tasks.
14
  $yarpp_value_options = array('threshold' => 5,
@@ -73,7 +75,7 @@ function yarpp_enabled() {
73
  }
74
 
75
  function yarpp_reinforce() {
76
- if (!get_option('yarpp_version'))
77
  yarpp_activate();
78
  yarpp_upgrade_check(true);
79
  }
@@ -81,12 +83,12 @@ function yarpp_reinforce() {
81
  function yarpp_activate() {
82
  global $yarpp_version, $wpdb, $yarpp_binary_options, $yarpp_value_options;
83
  foreach (array_keys($yarpp_value_options) as $option) {
84
- if (!get_option("yarpp_$option") or get_option("yarpp_$option") == '')
85
- add_option("yarpp_$option",$yarpp_value_options[$option]);
86
  }
87
  foreach (array_keys($yarpp_binary_options) as $option) {
88
- if (!get_option("yarpp_$option") or get_option("yarpp_$option") == '')
89
- add_option("yarpp_$option",$yarpp_binary_options[$option]." ");
90
  }
91
  if (!yarpp_enabled()) {
92
  if (!$wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_title` ( `post_title`)")) {
@@ -125,8 +127,8 @@ function yarpp_activate() {
125
  return 0;
126
  }
127
  }
128
- add_option('yarpp_version',YARPP_VERSION);
129
- update_option('yarpp_version',YARPP_VERSION);
130
  return 1;
131
  }
132
 
@@ -144,44 +146,28 @@ function yarpp_upgrade_check($inuse = false) {
144
  global $wpdb, $yarpp_value_options, $yarpp_binary_options;
145
 
146
  foreach (array_keys($yarpp_value_options) as $option) {
147
- if (!get_option("yarpp_$option") or get_option("yarpp_$option") == '')
148
- add_option("yarpp_$option",$yarpp_value_options[$option].' ');
149
  }
150
  foreach (array_keys($yarpp_binary_options) as $option) {
151
- if (!get_option("yarpp_$option") or get_option("yarpp_$option") == '')
152
- add_option("yarpp_$option",$yarpp_binary_options[$option]." ");
153
  }
154
 
155
  // upgrade check
156
 
157
- if (get_option('threshold') and get_option('limit') and get_option('len')) {
158
  yarpp_activate();
159
  yarpp_upgrade_one_five();
160
- update_option('yarpp_version','1.5');
161
  }
162
 
163
- if (version_compare('2',get_option('yarpp_version'),'>') > 0) {
164
- foreach (array_keys($yarpp_value_options) as $option) {
165
- if (!get_option("yarpp_$option"))
166
- add_option("yarpp_$option",$yarpp_value_options[$option].' ');
167
- }
168
- foreach (array_keys($yarpp_binary_options) as $option) {
169
- if (!get_option("yarpp_$option"))
170
- add_option("yarpp_$option",$yarpp_binary_options[$option]);
171
- }
172
- }
173
-
174
- if (version_compare('2.03',get_option('yarpp_version')) > 0) {
175
- $wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_title` ( `post_title`)");
176
- $wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_content` ( `post_content`)"); update_option('yarpp_version','2.03');
177
- }
178
-
179
- if (version_compare('3.1.3',get_option('yarpp_version')) > 0) {
180
  $wpdb->query("ALTER TABLE {$wpdb->prefix}yarpp_related_cache DROP PRIMARY KEY ,
181
  ADD PRIMARY KEY ( score , date , reference_ID , ID )");
182
  }
183
 
184
- update_option('yarpp_version',YARPP_VERSION);
185
 
186
  // just in case, try to add the index one more time.
187
  if (!yarpp_enabled()) {
@@ -268,26 +254,42 @@ class YARPP_Widget extends WP_Widget {
268
 
269
  function yarpp_default($content) {
270
  global $wpdb, $post;
 
271
  if (is_feed())
272
- return yarpp_rss($content);
273
- elseif (yarpp_get_option('auto_display') and is_single())
274
- return $content.yarpp_related(array('post'),array(),false,false,'website');
 
 
 
 
 
275
  else
276
  return $content;
277
  }
278
 
279
  function yarpp_rss($content) {
280
  global $wpdb, $post;
 
 
 
 
 
281
  if (yarpp_get_option('rss_display'))
282
- return $content.yarpp_related(array('post'),array(),false,false,'rss');
283
  else
284
  return $content;
285
  }
286
 
287
  function yarpp_rss_excerpt($content) {
288
  global $wpdb, $post;
 
 
 
 
 
289
  if (yarpp_get_option('rss_excerpt_display') && yarpp_get_option('rss_display'))
290
- return $content.clean_pre(yarpp_related(array('post'),array(),false,false,'rss'));
291
  else
292
  return $content;
293
  }
@@ -374,26 +376,26 @@ function yarpp_upgrade_one_five() {
374
  global $wpdb;
375
  $migrate_options = array('past_only','show_excerpt','show_pass_post','cross_relate','limit','threshold','before_title','after_title','before_post','after_post');
376
  foreach ($migrate_options as $option) {
377
- if (get_option($option)) {
378
- update_option("yarpp_$option",get_option($option));
379
- delete_option($option);
380
  }
381
  }
382
  // len is one option where we actually change the name of the option
383
- update_option('yarpp_excerpt_length',get_option('len'));
384
- delete_option('len');
385
 
386
  // override these defaults for those who upgrade from < 1.5
387
- update_option('yarpp_auto_display',false);
388
- update_option('yarpp_before_related','');
389
- update_option('yarpp_after_related','');
390
  unset($yarpp_version);
391
  }
392
 
393
  define('LOREMIPSUM','Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras tincidunt justo a urna. Ut turpis. Phasellus convallis, odio sit amet cursus convallis, eros orci scelerisque velit, ut sodales neque nisl at ante. Suspendisse metus. Curabitur auctor pede quis mi. Pellentesque lorem justo, condimentum ac, dapibus sit amet, ornare et, erat. Quisque velit. Etiam sodales dui feugiat neque suscipit bibendum. Integer mattis. Nullam et ante non sem commodo malesuada. Pellentesque ultrices fermentum lectus. Maecenas hendrerit neque ac est. Fusce tortor mi, tristique sed, cursus at, pellentesque non, dui. Suspendisse potenti.');
394
 
395
  function yarpp_excerpt($content,$length) {
396
- $content = strip_tags($content);
397
  preg_replace('/([,;.-]+)\s*/','\1 ',$content);
398
  return implode(' ',array_slice(preg_split('/\s+/',$content),0,$length)).'...';
399
  }
@@ -401,17 +403,17 @@ function yarpp_excerpt($content,$length) {
401
  function yarpp_set_option($option,$value) {
402
  global $yarpp_value_options;
403
  if (array_search($option,array_keys($yarpp_value_options)) === true)
404
- update_option("yarpp_$option",$value.' ');
405
  else
406
- update_option("yarpp_$option",$value);
407
  }
408
 
409
  function yarpp_get_option($option,$escapehtml = false) {
410
  global $yarpp_value_options;
411
  if (!(array_search($option,array_keys($yarpp_value_options)) === false))
412
- $return = chop(get_option("yarpp_$option"));
413
  else
414
- $return = get_option("yarpp_$option");
415
  if ($escapehtml)
416
  $return = htmlspecialchars(stripslashes($return));
417
  return $return;
9
  define('WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
10
  if ( !defined('WP_CONTENT_DIR') )
11
  define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
12
+ if ( !defined('YARPP_UNLIKELY_DEFAULT') )
13
+ define('YARPP_UNLIKELY_DEFAULT', "There's no way this is going to be the string.");
14
 
15
  // here's a list of all the options YARPP uses (except version), as well as their default values, sans the yarpp_ prefix, split up into binary options and value options. These arrays are used in updating settings (options.php) and other tasks.
16
  $yarpp_value_options = array('threshold' => 5,
75
  }
76
 
77
  function yarpp_reinforce() {
78
+ if (!get_site_option('yarpp_version'))
79
  yarpp_activate();
80
  yarpp_upgrade_check(true);
81
  }
83
  function yarpp_activate() {
84
  global $yarpp_version, $wpdb, $yarpp_binary_options, $yarpp_value_options;
85
  foreach (array_keys($yarpp_value_options) as $option) {
86
+ if (get_site_option("yarpp_$option",YARPP_UNLIKELY_DEFAULT) == YARPP_UNLIKELY_DEFAULT)
87
+ add_site_option("yarpp_$option",$yarpp_value_options[$option] . ' ');
88
  }
89
  foreach (array_keys($yarpp_binary_options) as $option) {
90
+ if (get_site_option("yarpp_$option",YARPP_UNLIKELY_DEFAULT) == YARPP_UNLIKELY_DEFAULT)
91
+ add_site_option("yarpp_$option",$yarpp_binary_options[$option]);
92
  }
93
  if (!yarpp_enabled()) {
94
  if (!$wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_title` ( `post_title`)")) {
127
  return 0;
128
  }
129
  }
130
+ add_site_option('yarpp_version',YARPP_VERSION);
131
+ update_site_option('yarpp_version',YARPP_VERSION);
132
  return 1;
133
  }
134
 
146
  global $wpdb, $yarpp_value_options, $yarpp_binary_options;
147
 
148
  foreach (array_keys($yarpp_value_options) as $option) {
149
+ if (get_site_option("yarpp_$option",YARPP_UNLIKELY_DEFAULT) == YARPP_UNLIKELY_DEFAULT)
150
+ add_site_option("yarpp_$option",$yarpp_value_options[$option].' ');
151
  }
152
  foreach (array_keys($yarpp_binary_options) as $option) {
153
+ if (get_site_option("yarpp_$option",YARPP_UNLIKELY_DEFAULT) == YARPP_UNLIKELY_DEFAULT)
154
+ add_site_option("yarpp_$option",$yarpp_binary_options[$option]);
155
  }
156
 
157
  // upgrade check
158
 
159
+ if (get_site_option('threshold') and get_site_option('limit') and get_site_option('len')) {
160
  yarpp_activate();
161
  yarpp_upgrade_one_five();
162
+ update_site_option('yarpp_version','1.5');
163
  }
164
 
165
+ if (version_compare('3.1.3',get_site_option('yarpp_version')) > 0) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  $wpdb->query("ALTER TABLE {$wpdb->prefix}yarpp_related_cache DROP PRIMARY KEY ,
167
  ADD PRIMARY KEY ( score , date , reference_ID , ID )");
168
  }
169
 
170
+ update_site_option('yarpp_version',YARPP_VERSION);
171
 
172
  // just in case, try to add the index one more time.
173
  if (!yarpp_enabled()) {
254
 
255
  function yarpp_default($content) {
256
  global $wpdb, $post;
257
+
258
  if (is_feed())
259
+ return yarpp_rss($content,$type);
260
+
261
+ $type = ($post->post_type == 'page' ? array('page') : array('post'));
262
+ if (yarpp_get_option('cross_relate'))
263
+ $type = array('post','page');
264
+
265
+ if (yarpp_get_option('auto_display') and is_single())
266
+ return $content.yarpp_related($type,array(),false,false,'website');
267
  else
268
  return $content;
269
  }
270
 
271
  function yarpp_rss($content) {
272
  global $wpdb, $post;
273
+
274
+ $type = ($post->post_type == 'page' ? array('page') : array('post'));
275
+ if (yarpp_get_option('cross_relate'))
276
+ $type = array('post','page');
277
+
278
  if (yarpp_get_option('rss_display'))
279
+ return $content.yarpp_related($type,array(),false,false,'rss');
280
  else
281
  return $content;
282
  }
283
 
284
  function yarpp_rss_excerpt($content) {
285
  global $wpdb, $post;
286
+
287
+ $type = ($post->post_type == 'page' ? array('page') : array('post'));
288
+ if (yarpp_get_option('cross_relate'))
289
+ $type = array('post','page');
290
+
291
  if (yarpp_get_option('rss_excerpt_display') && yarpp_get_option('rss_display'))
292
+ return $content.clean_pre(yarpp_related($type,array(),false,false,'rss'));
293
  else
294
  return $content;
295
  }
376
  global $wpdb;
377
  $migrate_options = array('past_only','show_excerpt','show_pass_post','cross_relate','limit','threshold','before_title','after_title','before_post','after_post');
378
  foreach ($migrate_options as $option) {
379
+ if (get_site_option($option,YARPP_UNLIKELY_DEFAULT) != YARPP_UNLIKELY_DEFAULT) {
380
+ update_site_option("yarpp_$option",get_site_option($option));
381
+ delete_site_option($option);
382
  }
383
  }
384
  // len is one option where we actually change the name of the option
385
+ update_site_option('yarpp_excerpt_length',get_site_option('len'));
386
+ delete_site_option('len');
387
 
388
  // override these defaults for those who upgrade from < 1.5
389
+ update_site_option('yarpp_auto_display',false);
390
+ update_site_option('yarpp_before_related','');
391
+ update_site_option('yarpp_after_related','');
392
  unset($yarpp_version);
393
  }
394
 
395
  define('LOREMIPSUM','Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras tincidunt justo a urna. Ut turpis. Phasellus convallis, odio sit amet cursus convallis, eros orci scelerisque velit, ut sodales neque nisl at ante. Suspendisse metus. Curabitur auctor pede quis mi. Pellentesque lorem justo, condimentum ac, dapibus sit amet, ornare et, erat. Quisque velit. Etiam sodales dui feugiat neque suscipit bibendum. Integer mattis. Nullam et ante non sem commodo malesuada. Pellentesque ultrices fermentum lectus. Maecenas hendrerit neque ac est. Fusce tortor mi, tristique sed, cursus at, pellentesque non, dui. Suspendisse potenti.');
396
 
397
  function yarpp_excerpt($content,$length) {
398
+ $content = strip_tags( (string) $content );
399
  preg_replace('/([,;.-]+)\s*/','\1 ',$content);
400
  return implode(' ',array_slice(preg_split('/\s+/',$content),0,$length)).'...';
401
  }
403
  function yarpp_set_option($option,$value) {
404
  global $yarpp_value_options;
405
  if (array_search($option,array_keys($yarpp_value_options)) === true)
406
+ update_site_option("yarpp_$option",$value.' ');
407
  else
408
+ update_site_option("yarpp_$option",$value);
409
  }
410
 
411
  function yarpp_get_option($option,$escapehtml = false) {
412
  global $yarpp_value_options;
413
  if (!(array_search($option,array_keys($yarpp_value_options)) === false))
414
+ $return = chop(get_site_option("yarpp_$option"));
415
  else
416
+ $return = get_site_option("yarpp_$option");
417
  if ($escapehtml)
418
  $return = htmlspecialchars(stripslashes($return));
419
  return $return;
install.txt CHANGED
@@ -17,7 +17,7 @@ NOTE: If you run a large and complex site and/or worry about your SQL query volu
17
 
18
  If you see an error saying "The YARPP database has an error which could not be fixed", please try manual SQL setup:
19
 
20
- http://mitcho.com/code/yarpp/sql.php
21
 
22
  == SUPPORT ==
23
 
17
 
18
  If you see an error saying "The YARPP database has an error which could not be fixed", please try manual SQL setup:
19
 
20
+ http://mitcho.com/code/yarpp/sql/
21
 
22
  == SUPPORT ==
23
 
keywords.php CHANGED
@@ -48,11 +48,6 @@ function html_entity_strip($html) {
48
  function post_body_keywords($ID,$max = 20) {
49
  global $wpdb;
50
  $content = strip_tags(apply_filters_if_white('the_content',$wpdb->get_var("select post_content from $wpdb->posts where ID = $ID")));
51
- //echo "<!--".get_option('blog_charset')."-->";
52
- /*if (get_option('blog_charset') == 'UTF-8')
53
- $content = html_entity_decode_utf8($content);
54
- else
55
- $content = html_entity_decode($content,ENT_QUOTES,get_option('blog_charset'));*/
56
  $content = html_entity_strip($content);
57
  return yarpp_extract_keywords($content,$max);
58
  }
@@ -77,8 +72,6 @@ function yarpp_cache_keywords($ID) {
77
 
78
  $wpdb->query("insert into {$wpdb->prefix}yarpp_keyword_cache (ID,body,title) values ($ID,'$body_terms ','$title_terms ') on duplicate key update date = now(), body = '$body_terms ', title = '$title_terms '");
79
 
80
- //echo "<!--"."insert into {$wpdb->prefix}yarpp_keyword_cache (ID,body,title) values ($ID,'$body_terms','$title_terms') on duplicate key update date = now(), body = '$body_terms', title = '$title_terms'"."-->";
81
-
82
  }
83
 
84
  function yarpp_get_cached_keywords($ID,$type='body') {
48
  function post_body_keywords($ID,$max = 20) {
49
  global $wpdb;
50
  $content = strip_tags(apply_filters_if_white('the_content',$wpdb->get_var("select post_content from $wpdb->posts where ID = $ID")));
 
 
 
 
 
51
  $content = html_entity_strip($content);
52
  return yarpp_extract_keywords($content,$max);
53
  }
72
 
73
  $wpdb->query("insert into {$wpdb->prefix}yarpp_keyword_cache (ID,body,title) values ($ID,'$body_terms ','$title_terms ') on duplicate key update date = now(), body = '$body_terms ', title = '$title_terms '");
74
 
 
 
75
  }
76
 
77
  function yarpp_get_cached_keywords($ID,$type='body') {
lang/yarpp-tr_TR.mo ADDED
Binary file
lang/yarpp-tr_TR.po ADDED
@@ -0,0 +1,670 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Yet Another Related Posts Plugin v3.0.13\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2009-09-17 15:10+0300\n"
7
+ "Last-Translator: Nurullah DEMIR <ndemir@live.com>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: Turkish\n"
14
+ "X-Poedit-Country: TURKEY\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
17
+ "X-Poedit-Basepath: ../\n"
18
+ "X-Poedit-Bookmarks: \n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Textdomain-Support: yes"
21
+
22
+ #: includes.php:24
23
+ #: includes.php:35
24
+ #@ yarpp
25
+ msgid "Related posts:"
26
+ msgstr "Benzer yazılar:"
27
+
28
+ #: includes.php:26
29
+ #: includes.php:37
30
+ #: template-metabox.php:28
31
+ #@ yarpp
32
+ msgid "No related posts."
33
+ msgstr "Benzer yazı yok."
34
+
35
+ #: includes.php:94
36
+ #@ yarpp
37
+ msgid "MySQL error on adding yarpp_title"
38
+ msgstr "MySQL hatası : yarpp_title eklenirken "
39
+
40
+ #: includes.php:99
41
+ #@ yarpp
42
+ msgid "MySQL error on adding yarpp_content"
43
+ msgstr "MySQL hatası : yarpp_content eklenirken"
44
+
45
+ #: includes.php:110
46
+ #@ yarpp
47
+ msgid "MySQL error on creating yarpp_keyword_cache table"
48
+ msgstr "MySQL hatası : yarpp_keyword_cache tablosu oluşturulurken"
49
+
50
+ #: includes.php:121
51
+ #@ yarpp
52
+ msgid "MySQL error on creating yarpp_related_cache table"
53
+ msgstr "MySQL hatası : yarpp_related_cache table oluşturulurken"
54
+
55
+ #: includes.php:197
56
+ #@ yarpp
57
+ msgid "Related Posts (YARPP)"
58
+ msgstr "Benzer Yazılar(YARPP)"
59
+
60
+ #: includes.php:205
61
+ #@ yarpp
62
+ msgid "Settings"
63
+ msgstr "Ayarlar"
64
+
65
+ #: includes.php:233
66
+ #: yarpp.php:33
67
+ #@ yarpp
68
+ msgid "Related Posts"
69
+ msgstr "Benzer Yazılar"
70
+
71
+ #: includes.php:238
72
+ #@ yarpp
73
+ msgid "YARPP"
74
+ msgstr "YARPP"
75
+
76
+ #: magic.php:71
77
+ #@ yarpp
78
+ msgid "Example post "
79
+ msgstr "Örnek yazı"
80
+
81
+ #: magic.php:342
82
+ #: options.php:456
83
+ #: options.php:519
84
+ #@ yarpp
85
+ msgid "Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>."
86
+ msgstr "Benzer yazı sizi <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Eklentisini</a> kullanarak getirdi."
87
+
88
+ #: options.php:10
89
+ #@ yarpp
90
+ msgid "Please move the YARPP template files into your theme to complete installation. Simply move the sample template files (currently in <code>wp-content/plugins/yet-another-related-posts-plugin/yarpp-templates/</code>) to the <code>TEMPLATEPATH</code> directory."
91
+ msgstr "YARPP template (tema) dosyalarını kullandığınız temanın dizinine taşıyın yüklemeyi tamamlamak için. ( tema dizini : <code>wp-content/plugins/yet-another-related-posts-plugin/yarpp-templates/</code> ) <code>TEMPLATEPATH</code> taşıyın."
92
+
93
+ #: options.php:15
94
+ #@ yarpp
95
+ msgid "No YARPP template files were found in your theme (<code>TEMPLATEPATH</code>) so the templating feature has been turned off."
96
+ msgstr "YARPP temaları bulunamadı. (<code>TEMPLATEPATH</code>) Bu yüzden tema özelliği kapatıldı."
97
+
98
+ #: options.php:26
99
+ #@ yarpp
100
+ msgid "The MyISAM check has been overridden. You may now use the \"consider titles\" and \"consider bodies\" relatedness criteria."
101
+ msgstr "MyISAM kontorü artık geçersiz. Artık \"uygun başlık\"( \"consider titles\" ) ve \"uygun body'leri\" ( \"consider bodies\" ) kriterlerini kullanabilirsiniz."
102
+
103
+ #: options.php:35
104
+ #, php-format
105
+ #@ yarpp
106
+ msgid "YARPP's \"consider titles\" and \"consider bodies\" relatedness criteria require your <code>%s</code> table to use the <a href='http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html'>MyISAM storage engine</a>, but the table seems to be using the <code>%s</code> engine. These two options have been disabled."
107
+ msgstr "YARPP'ın \"consider titles\" (uygun başlık) ve \"consider bodies\" (uygun gövde) kriteri <code>%s</code> tablosunu gerektirir, <a href='http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html'>MyISAM depo motorunu</a> çalıştırmak için. Ama tablolar <code>%s</code> motorunu kullanıyor gibi gözüküyor. Bu her iki özellik devre dışı bırakıldı."
108
+
109
+ #: options.php:37
110
+ #, php-format
111
+ #@ yarpp
112
+ msgid "To restore these features, please update your <code>%s</code> table by executing the following SQL directive: <code>ALTER TABLE `%s` ENGINE = MyISAM;</code> . No data will be erased by altering the table's engine, although there are performance implications."
113
+ msgstr "Bu özellikleri düzenlemek için, <code>%s</code> tablosunu <code>ALTER TABLE `%s` ENGINE = MyISAM;</code> kodunu kullanarak güncelleştirin. Hiçbir veri silinmeyecektir tam aksi bu performansı arttıracaktır."
114
+
115
+ #: options.php:39
116
+ #, php-format
117
+ #@ yarpp
118
+ msgid "If, despite this check, you are sure that <code>%s</code> is using the MyISAM engine, press this magic button:"
119
+ msgstr "Eğer <code>%s</code>'in MyISAM motorunu kullandığından eminseniz lütfen butonu tıklayın:"
120
+
121
+ #: options.php:42
122
+ #@ yarpp
123
+ msgid "Trust me. Let me use MyISAM features."
124
+ msgstr "Bana güvenebilirsin :). MYISAM özelliklerini kullanmama izin ver."
125
+
126
+ #: options.php:65
127
+ #@ yarpp
128
+ msgid "The YARPP database had an error but has been fixed."
129
+ msgstr "YARPP veritabanında bir hata oluştu, hata giderildi."
130
+
131
+ #: options.php:67
132
+ #@ yarpp
133
+ msgid "The YARPP database has an error which could not be fixed."
134
+ msgstr "YARPP veritabanında bir hata oluştu, hata giderilemedi."
135
+
136
+ #: options.php:68
137
+ #@ yarpp
138
+ msgid "Please try <A>manual SQL setup</a>."
139
+ msgstr "<a>El ile SQL yüklemeyi</a>(<A>manual SQL setup</a>) tekrar deneyin."
140
+
141
+ #: options.php:98
142
+ #@ yarpp
143
+ msgid "Options saved!"
144
+ msgstr "Ayarlar kaydedildi!"
145
+
146
+ #: options.php:99
147
+ #: options.php:112
148
+ #: options.php:115
149
+ #: options.php:528
150
+ #@ yarpp
151
+ msgid "Related posts cache status"
152
+ msgstr "İlgili yazılar önbellek istatikleri"
153
+
154
+ #: options.php:100
155
+ #@ yarpp
156
+ msgid "If you updated the \"pool\" options or \"relatedness\" options displayed, please rebuild your cache now from the <A>related posts status pane</a>."
157
+ msgstr "Eğer \"pool\" (etiket) ayarlarını yada \"relatedness\" ayarlarını güncelleştirdiyseniz, lütfen önbelleğinizi yeniden oluşturun, <A>related posts status pane</a>(benzer yazı istatistik paneli)"
158
+
159
+ #: options.php:112
160
+ #@ yarpp
161
+ msgid "Your related posts cache is incomplete. Please build your cache from the <A>related posts status pane</a>."
162
+ msgstr "Benzer yazı önbellekleri eksik. Lütfen önbelleği <A>related posts status pane</a>(benzer yazı istatistik paneli)nden oluşturun"
163
+
164
+ #: options.php:115
165
+ #@ yarpp
166
+ msgid "Your related posts cache is empty. Please build your cache from the <A>related posts status pane</a>."
167
+ msgstr "Benzer yazı önbelleğiniz boş. Lütfen önbelleği <A>related posts status pane</a>(benzer yazı istatistik paneli)nden oluşturun"
168
+
169
+ #: options.php:151
170
+ #@ yarpp
171
+ msgid "word"
172
+ msgstr "kelime"
173
+
174
+ #: options.php:152
175
+ #@ yarpp
176
+ msgid "tag"
177
+ msgstr "etiket"
178
+
179
+ #: options.php:153
180
+ #@ yarpp
181
+ msgid "category"
182
+ msgstr "kategori"
183
+
184
+ #: options.php:157
185
+ #: options.php:174
186
+ #: options.php:186
187
+ #@ yarpp
188
+ msgid "do not consider"
189
+ msgstr "gözardı et"
190
+
191
+ #: options.php:158
192
+ #: options.php:175
193
+ #: options.php:188
194
+ #@ yarpp
195
+ msgid "consider"
196
+ msgstr "göz önünde bulundur"
197
+
198
+ #: options.php:160
199
+ #: options.php:190
200
+ #, php-format
201
+ #@ yarpp
202
+ msgid "require at least one %s in common"
203
+ msgstr "en az bir tane %s gerektirir common için"
204
+
205
+ #: options.php:162
206
+ #: options.php:192
207
+ #, php-format
208
+ #@ yarpp
209
+ msgid "require more than one %s in common"
210
+ msgstr "birden fazla %s gerektirir common için"
211
+
212
+ #: options.php:176
213
+ #@ yarpp
214
+ msgid "consider with extra weight"
215
+ msgstr "en fazla ağırlığa göre göz önünde bulundur"
216
+
217
+ #: options.php:204
218
+ #@ yarpp
219
+ msgid "Yet Another Related Posts Plugin version history (RSS 2.0)"
220
+ msgstr "Yet Another Related Posts Eklentisinin önceki versiyonları (RSS 2.0)"
221
+
222
+ #: options.php:258
223
+ #@ yarpp
224
+ msgid "Yet Another Related Posts Plugin Options"
225
+ msgstr "Yet Another Related Posts Ayarlar"
226
+
227
+ #: options.php:269
228
+ #@ yarpp
229
+ msgid "Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal"
230
+ msgstr "Bu eklentinin yazarına (Michael Yoshitaka Erlewine) PayPal kullanarak bağış yap"
231
+
232
+ #: options.php:271
233
+ #@ yarpp
234
+ msgid "by <a href=\"http://mitcho.com/code/\">mitcho (Michael 芳貴 Erlewine)</a>"
235
+ msgstr "by <a href=\"http://mitcho.com/code/\">mitcho (Michael 芳貴 Erlewine)</a> || Translation : <a href=http://nurullah.us>Nurullah DEMIR </a>"
236
+
237
+ #: options.php:271
238
+ #@ yarpp
239
+ msgid "Follow <a href=\"http://twitter.com/yarpp/\">Yet Another Related Posts Plugin on Twitter</a>"
240
+ msgstr "<a href=\"http://twitter.com/yarpp/\">Yet Another Related Posts Eklentisini Twitterda Takip Et</a>"
241
+
242
+ #: options.php:276
243
+ #@ yarpp
244
+ msgid "\"The Pool\""
245
+ msgstr "\"The Pool\" (Anket)"
246
+
247
+ #: options.php:277
248
+ #@ yarpp
249
+ msgid "\"The Pool\" refers to the pool of posts and pages that are candidates for display as related to the current entry."
250
+ msgstr "\"The Pool\" refers to the pool of posts and pages that are candidates for display as related to the current entry."
251
+
252
+ #: options.php:282
253
+ #@ yarpp
254
+ msgid "Disallow by category:"
255
+ msgstr "Kategoriye göre kabul et:"
256
+
257
+ #: options.php:284
258
+ #@ yarpp
259
+ msgid "Disallow by tag:"
260
+ msgstr "Etikete göre kabul et:"
261
+
262
+ #: options.php:286
263
+ #@ yarpp
264
+ msgid "Show password protected posts?"
265
+ msgstr "Şifreyle korunmuş olan yazıları göster?"
266
+
267
+ #: options.php:292
268
+ #@ yarpp
269
+ msgid "day(s)"
270
+ msgstr "gün"
271
+
272
+ #: options.php:293
273
+ #@ yarpp
274
+ msgid "week(s)"
275
+ msgstr "hafta"
276
+
277
+ #: options.php:294
278
+ #@ yarpp
279
+ msgid "month(s)"
280
+ msgstr "ay"
281
+
282
+ #: options.php:296
283
+ #@ yarpp
284
+ msgid "Show only posts from the past NUMBER UNITS"
285
+ msgstr "Sadece son NUMBER UNITS (sayı ünitelerinden) postları göster"
286
+
287
+ #: options.php:304
288
+ #@ yarpp
289
+ msgid "\"Relatedness\" options"
290
+ msgstr "\"Relatedness\" seçenekler"
291
+
292
+ #: options.php:306
293
+ #, php-format
294
+ #@ yarpp
295
+ msgid "YARPP is different than the <a href=\"http://wasabi.pbwiki.com/Related%20Entries\">previous plugins it is based on</a> as it limits the related posts list by (1) a maximum number and (2) a <em>match threshold</em>."
296
+ msgstr "YARPP <a href=\"http://wasabi.pbwiki.com/Related%20Entries\">previous plugins it is based on</a> eklentisinden farklıdır, as it limits the related posts list by (1) a maximum sayi ve (2) a <em>match threshold</em>."
297
+
298
+ #: options.php:306
299
+ #: options.php:320
300
+ #: options.php:403
301
+ #: options.php:408
302
+ #: options.php:455
303
+ #: options.php:467
304
+ #: options.php:468
305
+ #: options.php:472
306
+ #: options.php:518
307
+ #: options.php:529
308
+ #@ yarpp
309
+ msgid "more&gt;"
310
+ msgstr "more&gt;"
311
+
312
+ #: options.php:306
313
+ #@ yarpp
314
+ msgid "The higher the match threshold, the more restrictive, and you get less related posts overall. The default match threshold is 5. If you want to find an appropriate match threshhold, take a look at some post's related posts display and their scores. You can see what kinds of related posts are being picked up and with what kind of match scores, and determine an appropriate threshold for your site."
315
+ msgstr "The higher the match threshold, the more restrictive, and you get less related posts overall. The default match threshold is 5. If you want to find an appropriate match threshhold, take a look at some post's related posts display and their scores. You can see what kinds of related posts are being picked up and with what kind of match scores, and determine an appropriate threshold for your site."
316
+
317
+ #: options.php:311
318
+ #@ yarpp
319
+ msgid "Match threshold:"
320
+ msgstr "Match threshold:"
321
+
322
+ #: options.php:312
323
+ #@ yarpp
324
+ msgid "Titles: "
325
+ msgstr "Başlıklar:"
326
+
327
+ #: options.php:314
328
+ #@ yarpp
329
+ msgid "Bodies: "
330
+ msgstr "Gövde:"
331
+
332
+ #: options.php:316
333
+ #@ yarpp
334
+ msgid "Tags: "
335
+ msgstr "Etiketler:"
336
+
337
+ #: options.php:318
338
+ #@ yarpp
339
+ msgid "Categories: "
340
+ msgstr "Kategoriler:"
341
+
342
+ #: options.php:320
343
+ #@ yarpp
344
+ msgid "Cross-relate posts and pages?"
345
+ msgstr "Sayfa ve yazıları ilişkilendir?"
346
+
347
+ #: options.php:320
348
+ #@ yarpp
349
+ msgid "When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts."
350
+ msgstr "\"Cross-relate posts and pages\" (Sayfa ve yazıları ilişkilendir) özelliğini seçtiğinizde <code>related_posts()</code>, <code>related_pages()</code> ve <code>related_entries()</code> kodlarını hepsi aynı çıktıyı verecektir. "
351
+
352
+ #: options.php:386
353
+ #@ yarpp
354
+ msgid "There is a new beta (VERSION) of Yet Another Related Posts Plugin. You can <A>download it here</a> at your own risk."
355
+ msgstr "Bu eklentinin BETA (deneme) sürümü mevcut. <A>Buradan indirebilirsiniz</a>"
356
+
357
+ #: options.php:388
358
+ #@ yarpp
359
+ msgid "There is a new version (VERSION) of Yet Another Related Posts Plugin available! You can <A>download it here</a>."
360
+ msgstr "Bu eklentinin yeni sürümü mevcut. <A>Buradan indirebilirsiniz</a>."
361
+
362
+ #: options.php:399
363
+ #@ yarpp
364
+ msgid "Display options <small>for your website</small>"
365
+ msgstr "Gösterim seçenekleri <small>sizin siteniz için</small>"
366
+
367
+ #: options.php:403
368
+ #@ yarpp
369
+ msgid "Automatically display related posts?"
370
+ msgstr "Otomatik olarak benzer yazıları göster"
371
+
372
+ #: options.php:403
373
+ #@ yarpp
374
+ msgid "This option automatically displays related posts right after the content on single entry pages. If this option is off, you will need to manually insert <code>related_posts()</code> or variants (<code>related_pages()</code> and <code>related_entries()</code>) into your theme files."
375
+ msgstr "Bu özellik otomatik olarak <i>Benzer Yazıların</i> sayfa ve yazıların hemen ardından eklenmesini sağlar. Eğer bu özelliği kapatırsanız, <code>related_posts()</code> yada (<code>related_pages()</code> and <code>related_entries()</code>) kodlarından birini temanıza eklemek zorunda kalırsınız."
376
+
377
+ #: options.php:404
378
+ #@ yarpp
379
+ msgid "Website display code example"
380
+ msgstr "Site göstermek için örnek kod"
381
+
382
+ #: options.php:404
383
+ #: options.php:469
384
+ #@ yarpp
385
+ msgid "(Update options to reload.)"
386
+ msgstr "(Tekrar yüklemek için seçenekleri güncelleştirin)"
387
+
388
+ #: options.php:407
389
+ #: options.php:471
390
+ #@ yarpp
391
+ msgid "Maximum number of related posts:"
392
+ msgstr "Maximum benzer yazı sayısı:"
393
+
394
+ #: options.php:408
395
+ #: options.php:472
396
+ #@ yarpp
397
+ msgid "Display using a custom template file"
398
+ msgstr "İstediğiniz bir temayı seçerek gösterin"
399
+
400
+ #: options.php:408
401
+ #: options.php:472
402
+ #: options.php:525
403
+ #@ yarpp
404
+ msgid "NEW!"
405
+ msgstr "YENİ!"
406
+
407
+ #: options.php:408
408
+ #: options.php:472
409
+ #@ yarpp
410
+ msgid "This advanced option gives you full power to customize how your related posts are displayed. Templates (stored in your theme folder) are written in PHP."
411
+ msgstr "Bu özellik benzer yazıları göstermek sizin istediğiniz şekil göstermek için size tam güç verir. Temalar (tema klasöründe saklı) PHP dilinde yazıldı."
412
+
413
+ #: options.php:410
414
+ #: options.php:474
415
+ #@ yarpp
416
+ msgid "Template file:"
417
+ msgstr "Tema dosyası:"
418
+
419
+ #: options.php:420
420
+ #@ yarpp
421
+ msgid "Before / after related entries:"
422
+ msgstr "Önceki/Sonraki benzer yazılar:"
423
+
424
+ #: options.php:421
425
+ #: options.php:426
426
+ #: options.php:435
427
+ #: options.php:485
428
+ #: options.php:490
429
+ #: options.php:499
430
+ #@ yarpp
431
+ msgid "For example:"
432
+ msgstr "Örneğin:"
433
+
434
+ #: options.php:421
435
+ #: options.php:426
436
+ #: options.php:435
437
+ #: options.php:485
438
+ #: options.php:490
439
+ #: options.php:499
440
+ #@ yarpp
441
+ msgid " or "
442
+ msgstr "yada"
443
+
444
+ #: options.php:425
445
+ #: options.php:489
446
+ #@ yarpp
447
+ msgid "Before / after each related entry:"
448
+ msgstr "Her yazı girilmeden önce/sonra:"
449
+
450
+ #: options.php:429
451
+ #: options.php:493
452
+ #@ yarpp
453
+ msgid "Show excerpt?"
454
+ msgstr "Alıntıları göster?"
455
+
456
+ #: options.php:430
457
+ #: options.php:494
458
+ #@ yarpp
459
+ msgid "Excerpt length (No. of words):"
460
+ msgstr "Alıntı uzunluğu(kelime sayısı)"
461
+
462
+ #: options.php:434
463
+ #@ yarpp
464
+ msgid "Before / after (Excerpt):"
465
+ msgstr "Önceki/Sonraki (Alıntılar):"
466
+
467
+ #: options.php:440
468
+ #: options.php:504
469
+ #@ yarpp
470
+ msgid "Order results:"
471
+ msgstr "Sıralama sonucu:"
472
+
473
+ #: options.php:442
474
+ #: options.php:506
475
+ #@ yarpp
476
+ msgid "score (high relevance to low)"
477
+ msgstr "Skor (yukarıdan aşağı)"
478
+
479
+ #: options.php:443
480
+ #: options.php:507
481
+ #@ yarpp
482
+ msgid "score (low relevance to high)"
483
+ msgstr "skor (aşağıdan yukarı)"
484
+
485
+ #: options.php:444
486
+ #: options.php:508
487
+ #@ yarpp
488
+ msgid "date (new to old)"
489
+ msgstr "tarih (yeniden eskiye)"
490
+
491
+ #: options.php:445
492
+ #: options.php:509
493
+ #@ yarpp
494
+ msgid "date (old to new)"
495
+ msgstr "tarih (eskiden yeniye)"
496
+
497
+ #: options.php:446
498
+ #: options.php:510
499
+ #@ yarpp
500
+ msgid "title (alphabetical)"
501
+ msgstr "başlık (alfabetik)"
502
+
503
+ #: options.php:447
504
+ #: options.php:511
505
+ #@ yarpp
506
+ msgid "title (reverse alphabetical)"
507
+ msgstr "başlık (alfabetik tersten)"
508
+
509
+ #: options.php:452
510
+ #: options.php:516
511
+ #@ yarpp
512
+ msgid "Default display if no results:"
513
+ msgstr "Sonuç yoksa, şunu göster:"
514
+
515
+ #: options.php:454
516
+ #: options.php:518
517
+ #@ yarpp
518
+ msgid "Help promote Yet Another Related Posts Plugin?"
519
+ msgstr "Yet Another Related Posts Eklentisine Yardımcı ol?"
520
+
521
+ #: options.php:456
522
+ #: options.php:519
523
+ #, php-format
524
+ #@ yarpp
525
+ msgid "This option will add the code %s. Try turning it on, updating your options, and see the code in the code example to the right. These links and donations are greatly appreciated."
526
+ msgstr "Bu özellik %s kodunu ekleyecek. Etkinleştirmeye çalışılırken, ayarları güncellemeye çalışılırken , ve kodu sağ taraftaki kod örneğinde görün."
527
+
528
+ #: options.php:462
529
+ #@ yarpp
530
+ msgid "Display options <small>for RSS</small>"
531
+ msgstr "<small>RSS için</small> seçenekleri göster"
532
+
533
+ #: options.php:467
534
+ #@ yarpp
535
+ msgid "Display related posts in feeds?"
536
+ msgstr "Benzer yazıları beslemede(feed) göster?"
537
+
538
+ #: options.php:467
539
+ #@ yarpp
540
+ msgid "This option displays related posts at the end of each item in your RSS and Atom feeds. No template changes are needed."
541
+ msgstr "Bu özelllik RSS ve Atom beslemelerinin her bir öğenin sonunda \\\"Related Posts\\\" (Benzer yazıları) gösterir. Herhangi bir template değişikliğine gerek yok."
542
+
543
+ #: options.php:468
544
+ #@ yarpp
545
+ msgid "Display related posts in the descriptions?"
546
+ msgstr "Benzer yazıları açıklama (descriptions) kısmında göster?"
547
+
548
+ #: options.php:468
549
+ #@ yarpp
550
+ msgid "This option displays the related posts in the RSS description fields, not just the content. If your feeds are set up to only display excerpts, however, only the description field is used, so this option is required for any display at all."
551
+ msgstr "RSS'nin açıklama kısmında benzer yazıları gösterir, sadece içeriği değil. Eğer beslemeniz(RSS) sadece alıntıları göstermeye ayarlamışsa, sadece açıklama(description) alanı kullanılıyorsa, bu özellik gereklidir."
552
+
553
+ #: options.php:469
554
+ #@ yarpp
555
+ msgid "RSS display code example"
556
+ msgstr "RSS gösterme kod örneği"
557
+
558
+ #: options.php:484
559
+ #@ yarpp
560
+ msgid "Before / after related entries display:"
561
+ msgstr "Önceki/sonraki benzer yazıları göster:"
562
+
563
+ #: options.php:498
564
+ #@ yarpp
565
+ msgid "Before / after (excerpt):"
566
+ msgstr "Önceki/sonraki alıntıar:"
567
+
568
+ #: options.php:525
569
+ #@ yarpp
570
+ msgid "Advanced"
571
+ msgstr "Gelişmiş"
572
+
573
+ #: options.php:528
574
+ #@ yarpp
575
+ msgid "Show cache status"
576
+ msgstr "Önbellek istatiklerini göster"
577
+
578
+ #: options.php:529
579
+ #@ yarpp
580
+ msgid "When the cache is incomplete, compute related posts on the fly?"
581
+ msgstr "Önbellek eksik olduğu zaman, anında benzer yazıları hesapla?"
582
+
583
+ #: options.php:530
584
+ #@ yarpp
585
+ msgid "If a displayed post's related posts are not cached and this option is on, YARPP will compute them on the fly.<br />If this option is off and a post's related posts have not been cached, it will display as if it has no related posts."
586
+ msgstr "Gösterilen <i>benzer yazı</i>nın önbelleği alınmamışsa ve bu özellik açık ise, YARPP kafadan hesaplayacak. <br> Eğer bu özellike kapalıysa ve yazının <i>benzer yazı</i>sı önbelleğe alınmamışsa, benzer öğe yok diye gösterilecek."
587
+
588
+ #: options.php:560
589
+ #@ yarpp
590
+ msgid "'MIN minute(s) and SEC second(s) remaining'"
591
+ msgstr "'MIN dakika ve SEC saniye kaldı'"
592
+
593
+ #: options.php:562
594
+ #@ yarpp
595
+ msgid "'SEC second(s) remaining'"
596
+ msgstr "'SEC saniye kaldı'"
597
+
598
+ #: options.php:566
599
+ #@ yarpp
600
+ msgid "Your related posts cache is now complete."
601
+ msgstr "Benzer yazı önbellği tamamlandı."
602
+
603
+ #: options.php:566
604
+ #@ yarpp
605
+ msgid "The SQL queries took SEC seconds."
606
+ msgstr "SQL kuyruğu SEC saniye aldı."
607
+
608
+ #: options.php:573
609
+ #@ yarpp
610
+ msgid "There was an error while constructing the related posts for TITLE"
611
+ msgstr "Başlık oluşturulurken hata meydana geldi."
612
+
613
+ #: options.php:575
614
+ #: options.php:581
615
+ #@ yarpp
616
+ msgid "Constructing the related posts timed out."
617
+ msgstr "Zaman aşımına uğradı."
618
+
619
+ #: options.php:578
620
+ #: options.php:583
621
+ #@ yarpp
622
+ msgid "Try to continue..."
623
+ msgstr "Devam etmeyi deneyin..."
624
+
625
+ #: options.php:591
626
+ #@ yarpp
627
+ msgid "Your related posts cache is PERCENT% complete."
628
+ msgstr "Benzer yazılarınızın önbelleği PERCENT% tamamlandı"
629
+
630
+ #: options.php:597
631
+ #@ yarpp
632
+ msgid "starting..."
633
+ msgstr "başlıyor..."
634
+
635
+ #: options.php:604
636
+ #@ yarpp
637
+ msgid "Update options"
638
+ msgstr "Seçenekler güncelleştir"
639
+
640
+ #: options.php:605
641
+ #@ yarpp
642
+ msgid "Do you really want to reset your configuration?"
643
+ msgstr "Ayarlarınızı sıfırlamak istediğinizden emin misiniz?"
644
+
645
+ #: options.php:605
646
+ #@ yarpp
647
+ msgid "Reset options"
648
+ msgstr "Ayarları sıfırla"
649
+
650
+ #: services.php:59
651
+ #@ yarpp
652
+ msgid "You cannot rebuild the YARPP cache."
653
+ msgstr "YARPP önbelleğini tekrar oluşturamazsınız."
654
+
655
+ #: template-builtin.php:35
656
+ #, php-format
657
+ #@ yarpp
658
+ msgid "%f is the YARPP match score between the current entry and this related entry. You are seeing this value because you are logged in to WordPress as an administrator. It is not shown to regular visitors."
659
+ msgstr "%f geçerli yazı ve benzer yazı arasında karşılaştırma. Bu değeri görme sebebiniz WordPress administrator olarak giriş yaptınız. Ziyaretçilere bu değer gösterilmez."
660
+
661
+ #: template-metabox.php:12
662
+ #@ yarpp
663
+ msgid "These are the related entries for this entry. Updating this post may change these related posts."
664
+ msgstr "Bu yazı için benzer yazı var. Bu postu güncellerken ilgili yazı değişebilir."
665
+
666
+ #: template-metabox.php:26
667
+ #@ yarpp
668
+ msgid "Whether all of these related entries are actually displayed and how they are displayed depends on your YARPP display options."
669
+ msgstr "Benzer yazıların nasıl gösterileceği tamamen size bağlıdır."
670
+
magic.php CHANGED
@@ -31,7 +31,7 @@ function yarpp_where_filter($arg) {
31
  global $wpdb, $yarpp_time;
32
  $threshold = yarpp_get_option('threshold');
33
  if ($yarpp_time) {
34
- $arg = str_replace("$wpdb->posts.ID = ","yarpp.score > $threshold and yarpp.reference_ID = ",$arg);
35
  if (yarpp_get_option("recent_only"))
36
  $arg .= " and post_date > date_sub(now(), interval ".yarpp_get_option("recent_number")." ".yarpp_get_option("recent_units").") ";
37
  //echo "<!--YARPP TEST: $arg-->";
@@ -189,8 +189,13 @@ function yarpp_sql($type,$args,$giveresults = true,$reference_ID=false,$domain='
189
 
190
  $newsql .= " where (post_status IN ( 'publish', 'static' ) and ID != '$reference_ID')";
191
 
192
- if ($past_only)
193
- $newsql .= " and post_date <= NOW() ";
 
 
 
 
 
194
  if (!$show_pass_post)
195
  $newsql .= " and post_password ='' ";
196
  if ($recent_only)
@@ -198,13 +203,15 @@ function yarpp_sql($type,$args,$giveresults = true,$reference_ID=false,$domain='
198
 
199
  if ($type == array('page') && !$cross_relate)
200
  $newsql .= " and post_type = 'page'";
 
 
201
 
202
  // GROUP BY
203
  $newsql .= "\n group by id \n";
204
  // HAVING
205
  // safethreshold is so the new calibration system works.
206
  // number_format fix suggested by vkovalcik! :)
207
- $safethreshold = number_format(max($threshold/2,0.1), 2, '.', '');
208
  $newsql .= " having score >= $safethreshold";
209
  if ($usedisterms)
210
  $newsql .= " and count(blockterm.term_id) = 0";
@@ -370,13 +377,21 @@ function yarpp_related_exist($type,$args,$reference_ID=false) {
370
  function yarpp_save_cache($post_ID,$force=true) {
371
  global $wpdb;
372
 
373
- $parent_ID = $wpdb->get_var("select post_parent from $wpdb->posts where ID='$post_ID'");
 
 
374
  if ($parent_ID != $post_ID and $parent_ID)
375
  $post_ID = $parent_ID;
 
 
376
  if (yarpp_get_option('cross_relate'))
377
  $type = array('post','page');
 
 
378
  else
379
  $type = array('post');
 
 
380
 
381
  yarpp_cache_enforce($type,$post_ID,$force);
382
 
@@ -411,16 +426,18 @@ function yarpp_cache_enforce($type=array('post'),$reference_ID,$force=false) {
411
  // let's update the related posts
412
  $wpdb->query("insert into {$wpdb->prefix}yarpp_related_cache (reference_ID,ID,score) ".yarpp_sql($type,array(),true,$reference_ID)." on duplicate key update date = now()");
413
 
414
- if ($wpdb->rows_affected and $yarpp_debug) echo "<!--YARPP just set the cache for post $reference_ID-->";
415
 
 
 
416
  // if changes were made, let's find out which ones are new. We'll want to clear their caches
417
  // so that they will be rebuilt when they're hit next.
418
- if ($wpdb->rows_affected) {
419
  $new_relations = $wpdb->get_col("select ID from {$wpdb->prefix}yarpp_related_cache where reference_ID = $reference_ID and ID != 0");
420
  yarpp_cache_clear($new_relations);
421
  }
422
 
423
- if (!$wpdb->rows_affected) {
424
  $wpdb->query("insert into {$wpdb->prefix}yarpp_related_cache (reference_ID,ID,score) values ($reference_ID,0,0) on duplicate key update date = now()");
425
  if (!$wpdb->rows_affected)
426
  return false;
31
  global $wpdb, $yarpp_time;
32
  $threshold = yarpp_get_option('threshold');
33
  if ($yarpp_time) {
34
+ $arg = str_replace("$wpdb->posts.ID = ","yarpp.score >= $threshold and yarpp.reference_ID = ",$arg);
35
  if (yarpp_get_option("recent_only"))
36
  $arg .= " and post_date > date_sub(now(), interval ".yarpp_get_option("recent_number")." ".yarpp_get_option("recent_units").") ";
37
  //echo "<!--YARPP TEST: $arg-->";
189
 
190
  $newsql .= " where (post_status IN ( 'publish', 'static' ) and ID != '$reference_ID')";
191
 
192
+ if ($past_only) { // 3.1.8: revised $past_only option
193
+ if ( is_object($post) && $reference_ID == $post->ID )
194
+ $reference_post_date = $post->post_date;
195
+ else
196
+ $reference_post_date = $wpdb->get_var("select post_date from $wpdb->posts where ID = $reference_ID");
197
+ $newsql .= " and post_date <= '$reference_post_date' ";
198
+ }
199
  if (!$show_pass_post)
200
  $newsql .= " and post_password ='' ";
201
  if ($recent_only)
203
 
204
  if ($type == array('page') && !$cross_relate)
205
  $newsql .= " and post_type = 'page'";
206
+ else
207
+ $newsql .= " and post_type = 'post'";
208
 
209
  // GROUP BY
210
  $newsql .= "\n group by id \n";
211
  // HAVING
212
  // safethreshold is so the new calibration system works.
213
  // number_format fix suggested by vkovalcik! :)
214
+ $safethreshold = number_format(max($threshold,0.1), 2, '.', '');
215
  $newsql .= " having score >= $safethreshold";
216
  if ($usedisterms)
217
  $newsql .= " and count(blockterm.term_id) = 0";
377
  function yarpp_save_cache($post_ID,$force=true) {
378
  global $wpdb;
379
 
380
+ $sql = "select post_parent, post_type from $wpdb->posts where ID='$post_ID'";
381
+ $parent_ID = $wpdb->get_var($sql,0);
382
+
383
  if ($parent_ID != $post_ID and $parent_ID)
384
  $post_ID = $parent_ID;
385
+
386
+ $post_type = $wpdb->get_var($sql,1);
387
  if (yarpp_get_option('cross_relate'))
388
  $type = array('post','page');
389
+ elseif ($post_type == 'page')
390
+ $type = array('page');
391
  else
392
  $type = array('post');
393
+ // TODO: support other post types? maybe?
394
+ // TODO: fix this bug... we should be getting the post type from the parent, if there is one.
395
 
396
  yarpp_cache_enforce($type,$post_ID,$force);
397
 
426
  // let's update the related posts
427
  $wpdb->query("insert into {$wpdb->prefix}yarpp_related_cache (reference_ID,ID,score) ".yarpp_sql($type,array(),true,$reference_ID)." on duplicate key update date = now()");
428
 
429
+ $affected = $wpdb->rows_affected;
430
 
431
+ if ($affected and $yarpp_debug) echo "<!--YARPP just set the cache for post $reference_ID-->";
432
+
433
  // if changes were made, let's find out which ones are new. We'll want to clear their caches
434
  // so that they will be rebuilt when they're hit next.
435
+ if ($affected && !yarpp_get_option('past_only')) {
436
  $new_relations = $wpdb->get_col("select ID from {$wpdb->prefix}yarpp_related_cache where reference_ID = $reference_ID and ID != 0");
437
  yarpp_cache_clear($new_relations);
438
  }
439
 
440
+ if (!$affected) {
441
  $wpdb->query("insert into {$wpdb->prefix}yarpp_related_cache (reference_ID,ID,score) values ($reference_ID,0,0) on duplicate key update date = now()");
442
  if (!$wpdb->rows_affected)
443
  return false;
options.php CHANGED
@@ -94,7 +94,7 @@ if (isset($_POST['update_yarpp'])) {
94
  //update_option('yarpp_distags',implode(',',array_map('yarpp_unmapthetag',preg_split('!\s*[;,]\s*!',strtolower($_POST['distags']))))); // distags is even more different
95
 
96
  foreach (array_keys($yarpp_binary_options) as $option) {
97
- (isset($_POST[$option])) ? yarpp_set_option($option,true) : yarpp_set_option($option,false);
98
  }
99
  echo '<div class="updated fade"><p>'.__('Options saved!','yarpp').'</p></div>';
100
  }
@@ -282,9 +282,8 @@ function load_display_discats() {
282
  <tr valign='top'>
283
  <th scope='row'><?php _e('Disallow by tag:','yarpp');?></th>
284
  <td><div id='display_distags' style="overflow:auto;max-height:100px;"></div></td></tr>
285
- <?php checkbox('show_pass_post',__("Show password protected posts?",'yarpp')); ?>
286
- <?php /*checkbox('past_only',__("Show only previous posts?",'yarpp')); */ ?>
287
- <?php
288
 
289
  $recent_number = "<input name=\"recent_number\" type=\"text\" id=\"recent_number\" value=\"".stripslashes(yarpp_get_option('recent_number',true))."\" size=\"2\" />";
290
  $recent_units = "<select name=\"recent_units\" id=\"recent_units\">
@@ -292,7 +291,8 @@ function load_display_discats() {
292
  <option value='week'". (('week'==yarpp_get_option('recent_units'))?" selected='selected'":'').">".__('week(s)','yarpp')."</option>
293
  <option value='month'". (('month'==yarpp_get_option('recent_units'))?" selected='selected'":'').">".__('month(s)','yarpp')."</option>
294
  </select>";
295
- checkbox('recent_only',str_replace('NUMBER',$recent_number,str_replace('UNITS',$recent_units,__("Show only posts from the past NUMBER UNITS",'yarpp')))); ?>
 
296
 
297
  </tbody>
298
  </table>
@@ -312,16 +312,19 @@ function load_display_discats() {
312
  <table class="form-table" style="margin-top: 0">
313
  <tbody>
314
 
315
- <?php textbox('threshold',__('Match threshold:','yarpp'))?>
316
- <?php importance2('title',__("Titles: ",'yarpp'),'word',"<tr valign='top'>
317
- <th scope='row'>",(!$yarpp_myisam?' readonly="readonly" disabled="disabled"':''))?>
318
- <?php importance2('body',__("Bodies: ",'yarpp'),'word',"<tr valign='top'>
319
- <th scope='row'>",(!$yarpp_myisam?' readonly="readonly" disabled="disabled"':''))?>
320
- <?php importance('tags',__("Tags: ",'yarpp'),'tag',"<tr valign='top'>
321
- <th scope='row'>",(!$yarpp_twopointfive?' readonly="readonly" disabled="disabled"':''))?>
322
- <?php importance('categories',__("Categories: ",'yarpp'),'category',"<tr valign='top'>
323
- <th scope='row'>",(!$yarpp_twopointfive?' readonly="readonly" disabled="disabled"':''))?>
324
- <?php checkbox('cross_relate',__("Cross-relate posts and pages?",'yarpp')." <a href='#' class='info'>".__('more&gt;','yarpp')."<span>".__("When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts.",'yarpp')."</span></a>"); ?>
 
 
 
325
  </tbody>
326
  </table>
327
  </div>
94
  //update_option('yarpp_distags',implode(',',array_map('yarpp_unmapthetag',preg_split('!\s*[;,]\s*!',strtolower($_POST['distags']))))); // distags is even more different
95
 
96
  foreach (array_keys($yarpp_binary_options) as $option) {
97
+ (isset($_POST[$option])) ? yarpp_set_option($option,1) : yarpp_set_option($option,0);
98
  }
99
  echo '<div class="updated fade"><p>'.__('Options saved!','yarpp').'</p></div>';
100
  }
282
  <tr valign='top'>
283
  <th scope='row'><?php _e('Disallow by tag:','yarpp');?></th>
284
  <td><div id='display_distags' style="overflow:auto;max-height:100px;"></div></td></tr>
285
+ <?php
286
+ checkbox('show_pass_post',__("Show password protected posts?",'yarpp'));
 
287
 
288
  $recent_number = "<input name=\"recent_number\" type=\"text\" id=\"recent_number\" value=\"".stripslashes(yarpp_get_option('recent_number',true))."\" size=\"2\" />";
289
  $recent_units = "<select name=\"recent_units\" id=\"recent_units\">
291
  <option value='week'". (('week'==yarpp_get_option('recent_units'))?" selected='selected'":'').">".__('week(s)','yarpp')."</option>
292
  <option value='month'". (('month'==yarpp_get_option('recent_units'))?" selected='selected'":'').">".__('month(s)','yarpp')."</option>
293
  </select>";
294
+ checkbox('recent_only',str_replace('NUMBER',$recent_number,str_replace('UNITS',$recent_units,__("Show only posts from the past NUMBER UNITS",'yarpp'))));
295
+ ?>
296
 
297
  </tbody>
298
  </table>
312
  <table class="form-table" style="margin-top: 0">
313
  <tbody>
314
 
315
+ <?php
316
+ textbox('threshold',__('Match threshold:','yarpp'));
317
+ importance2('title',__("Titles: ",'yarpp'),'word',"<tr valign='top'>
318
+ <th scope='row'>",(!$yarpp_myisam?' readonly="readonly" disabled="disabled"':''));
319
+ importance2('body',__("Bodies: ",'yarpp'),'word',"<tr valign='top'>
320
+ <th scope='row'>",(!$yarpp_myisam?' readonly="readonly" disabled="disabled"':''));
321
+ importance('tags',__("Tags: ",'yarpp'),'tag',"<tr valign='top'>
322
+ <th scope='row'>",(!$yarpp_twopointfive?' readonly="readonly" disabled="disabled"':''));
323
+ importance('categories',__("Categories: ",'yarpp'),'category',"<tr valign='top'>
324
+ <th scope='row'>",(!$yarpp_twopointfive?' readonly="readonly" disabled="disabled"':''));
325
+ checkbox('cross_relate',__("Cross-relate posts and pages?",'yarpp')." <a href='#' class='info'>".__('more&gt;','yarpp')."<span>".__("When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts.",'yarpp')."</span></a>");
326
+ checkbox('past_only',__("Show only previous posts?",'yarpp'));
327
+ ?>
328
  </tbody>
329
  </table>
330
  </div>
readme.txt CHANGED
@@ -7,7 +7,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4D
7
  Tags: related, posts, post, pages, page, RSS, feed, feeds
8
  Requires at least: 2.8
9
  Tested up to: 3.0
10
- Stable tag: 3.1.7
11
 
12
  Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. A templating feature allows customization of the display.
13
 
@@ -26,6 +26,12 @@ This plugin requires that your database run on MySQL 4.1 or greater.
26
 
27
  **Other plugins by mitcho**: [HookPress](http://wordpress.org/extend/plugins/hookpress/), [Allow LaTeX Uploads](http://wordpress.org/extend/plugins/allow-latex-uploads/), [Taxonomy Metadata](http://wordpress.org/extend/plugins/taxonomy-metadata/), [Plugin Beta Tester](http://wordpress.org/extend/plugins/plugin-beta-tester/), [Distinct Preview](http://wordpress.org/extend/plugins/distinct-preview/), [Markdown for WordPress and bbPress](http://wordpress.org/extend/plugins/markdown-for-wordpress-and-bbpress/), [WP-Smartdate](http://wordpress.org/extend/plugins/wp-smartdate/).
28
 
 
 
 
 
 
 
29
  = Testimonials =
30
 
31
  "One of my favorite [plugin]s I just activated on my blog is called Yet Another Related Posts Plugin... I've been blogging seven or eight years now so I have a lot of archives, and it actually surprises me sometimes when I blog about something and I visit the permalink to see I've written about it before... and it also increases the traffic on your blog because when they come in just to one entry, they'll see this other stuff going on." - Matt Mullenweg, WordPress creator
@@ -54,33 +60,46 @@ New in version 3.0, YARPP allows the advanced user with knowledge of PHP to cust
54
 
55
  = Manual installation =
56
 
57
- For advanced users with knowledge of PHP, there is also an [advanced manual installation option](http://mitcho.com/code/yarpp/manual.php).
58
 
59
  == Frequently Asked Questions ==
60
 
61
  If your question isn't here, ask your own question at [the Wordpress.org forums](http://wordpress.org/tags/yet-another-related-posts-plugin?forum_id=10#postform). *Please do not email or tweet with questions.*
62
 
63
- = Every page just says "no related posts"! What's up with that? =
64
 
65
- Most likely you have "no related posts" right now as the default "match threshold" is too high. Here's what I recommend to find an appropriate match threshold: first, lower your match threshold in the YARPP prefs to something very low, like 1. Most likely the really low threshold will pull up many posts that aren't actually related (false positives), so look at some of your posts' related posts and their match scores. This will help you find an appropriate threshold. You want it lower than what you have now, but high enough so it doesn't have many false positives.
66
 
67
- = How do I turn off the match score next to the related posts? =
68
 
69
- The match score display is only for administrators... you can log out of `wp-admin` and check out the post again and you will see that the score is gone.
70
 
71
- If you would like more flexibility in changing the display of your related posts, please see the [templating tutorial](http://mitcho.com/blog/projects/yarpp-3-templates/).
72
 
73
- = Does YARPP work with full-width characters or languages that don't use spaces between words? =
74
 
75
- YARPP works fine with full-width (double-byte) characters, assuming your WordPress database is set up with Unicode support. 99% of the time, if you're able to write blog posts with full-width characters and they're displayed correctly, YARPP will work on your blog.
76
 
77
- However, YARPP does have difficulty with languages that don't place spaces between words (Chinese, Japanese, etc.). For these languages, the "consider body" and "consider titles" options in the "Relatedness options" may not be very helpful. Using only tags and categories may work better for these languages.
78
 
79
- = Does YARPP slow down my blog/server? =
 
 
 
80
 
81
- A little bit, yes. However, YARPP 3.0 introduced a new caching mechanism which greatly reduces the hit of the computationally intensive relatedness computation. In addition, *I highly recommend all YARPP users use a page-caching plugin, such as [WP-SuperCache](http://ocaoimh.ie/wp-super-cache/).*
82
 
83
- If you find that the YARPP database calls are still too database-intensive, try turning off "cross relate posts and pages," not considering tags and/or categories in the Relatedness formula, and not excluding any tags and/or categories in The Pool. All of these will improve database performance.
 
 
 
 
 
 
 
 
 
 
84
 
85
  = I use DISQUS for comments. I can't access the YARPP options page! =
86
 
@@ -102,10 +121,16 @@ It is recommended that you tweak your match threshold whenever you make changes
102
 
103
  = Are there any plugins that are incompatible with YARPP? =
104
 
105
- Aside from the DISQUS plugin (see above), currently the only known incompatibility is [with the SEO_Pager plugin](http://wordpress.org/support/topic/267966) and the [Pagebar 2](http://www.elektroelch.de/hacks/wp/pagebar/) plugin. Users of SEO Pager are urged to turn off the automatic display option in SEO Pager and instead add the code manually. Other related posts plugins, obviously, may also be incompatible.
106
 
107
  Please submit similar bugs by starting a new thread on [the Wordpress.org forums](http://wordpress.org/tags/yet-another-related-posts-plugin?forum_id=10#postform). I check the forums regularly and will try to release a quick bugfix.
108
 
 
 
 
 
 
 
109
  = Things are weird after I upgraded. =
110
 
111
  I highly recommend you disactivate YARPP, replace it with the new one, and then reactivate it.
@@ -133,6 +158,7 @@ YARPP is currently localized in the following languages:
133
  * Brazilian Portuguese (`pt_BR`) by Rafael Fischmann (yarpp-ptBR at mitcho.com) of [macmagazine.br](http://macmagazine.com.br/)
134
  * Russian (`ru_RU`) by Marat Latypov (yarpp-ru at mitcho.com) of [blogocms.ru](http://blogocms.ru)
135
  * Swedish (`sv_SE`) by Max Elander (yarpp-sv at mitcho dot com)
 
136
  * Vietnamese (`vi_VN`) by Vu Nguyen (yarpp-vi at mitcho dot com) of [Rubik Integration](http://rubikintegration.com/)
137
  * Ukrainian (`uk_UA`) by [Onore](http://Onore.kiev.ua) (Alexander Musevich) (yarpp-uk at mitcho dot com)
138
  * Uzbek (`uz_UZ`) by Ali Safarov (yarpp-uz at mitcho dot com) of [comfi.com](http://www.comfi.com/)
@@ -145,13 +171,21 @@ We already have localizers lined up for the following languages:
145
  * Indonesian
146
  * Hungarian
147
  * Romanian
148
- * Swedish
149
  * Thai
150
 
151
  If you are a bilingual speaker of English and another language and an avid user of YARPP, I would love to talk to you about localizing YARPP! Localizing YARPP can be pretty easy using [the Codestyling Localization plugin](http://www.code-styling.de/english/development/wordpress-plugin-codestyling-localization-en). Please [contact me](mailto:yarpp@mitcho.com) *first* before translating to make sure noone else is working on your language. Thanks!
152
 
153
  == Changelog ==
154
 
 
 
 
 
 
 
 
 
 
155
  = 3.1.7 =
156
  * Added Egyptian Arabic localization (`ar_EG`)
157
  * Changed default option for automatic display of related posts in feeds to OFF. May improve performance for new users who use the default settings.
7
  Tags: related, posts, post, pages, page, RSS, feed, feeds
8
  Requires at least: 2.8
9
  Tested up to: 3.0
10
+ Stable tag: 3.1.8
11
 
12
  Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. A templating feature allows customization of the display.
13
 
26
 
27
  **Other plugins by mitcho**: [HookPress](http://wordpress.org/extend/plugins/hookpress/), [Allow LaTeX Uploads](http://wordpress.org/extend/plugins/allow-latex-uploads/), [Taxonomy Metadata](http://wordpress.org/extend/plugins/taxonomy-metadata/), [Plugin Beta Tester](http://wordpress.org/extend/plugins/plugin-beta-tester/), [Distinct Preview](http://wordpress.org/extend/plugins/distinct-preview/), [Markdown for WordPress and bbPress](http://wordpress.org/extend/plugins/markdown-for-wordpress-and-bbpress/), [WP-Smartdate](http://wordpress.org/extend/plugins/wp-smartdate/).
28
 
29
+ = A note on support (June 2010) =
30
+
31
+ I have begun instituting a stricter policy of not responding to support inquiries via email, instead directing senders to the appropriate WordPress.org forum, [here](http://wordpress.org/tags/yet-another-related-posts-plugin?forum_id=10#postform).
32
+
33
+ I try to respond to inquiries on the forums on a regular basis and hope to build a community of users who can learn from each other's questions and experiences and can support one another. I ask for your understanding on this matter.
34
+
35
  = Testimonials =
36
 
37
  "One of my favorite [plugin]s I just activated on my blog is called Yet Another Related Posts Plugin... I've been blogging seven or eight years now so I have a lot of archives, and it actually surprises me sometimes when I blog about something and I visit the permalink to see I've written about it before... and it also increases the traffic on your blog because when they come in just to one entry, they'll see this other stuff going on." - Matt Mullenweg, WordPress creator
60
 
61
  = Manual installation =
62
 
63
+ For advanced users with knowledge of PHP, there is also an [advanced manual installation option](http://mitcho.com/code/yarpp/manual-installation/).
64
 
65
  == Frequently Asked Questions ==
66
 
67
  If your question isn't here, ask your own question at [the Wordpress.org forums](http://wordpress.org/tags/yet-another-related-posts-plugin?forum_id=10#postform). *Please do not email or tweet with questions.*
68
 
69
+ = How can I move the related posts display? =
70
 
71
+ If you do not want to show the Related Posts display in its default position (right below the post content), first go to YARPP options and turn off the "automatically display" option in the "website" section. If you would like to instead display it in your sidebar and you have a widget-aware theme, YARPP provides a Related Posts widget which you can add under "Appearance" > "Widgets".
72
 
73
+ If you would like to add the Related Posts display elsewhere, follow these directions: (*Knowledge of PHP and familiarity with editing your WordPress theme files is required.*)
74
 
75
+ Edit your relevant theme file (most likely something like `single.php`) and add the PHP code `related_posts();` within [The Loop](http://codex.wordpress.org/The_Loop) where you want to display the related posts.
76
 
77
+ This method can also be used to display YARPP on pages other than single-post displays, such as on archive pages. There is a little more information on the [advanced manual installation page](http://mitcho.com/code/yarpp/manual-installation/).
78
 
79
+ = Does YARPP slow down my blog/server? =
80
 
81
+ A little bit, yes. However, YARPP 3.0 introduced a new caching mechanism which greatly reduces the hit of the computationally intensive relatedness computation. In addition, *I highly recommend all YARPP users use a page-caching plugin, such as [WP-SuperCache](http://ocaoimh.ie/wp-super-cache/).*
82
 
83
+ If you find that the YARPP database calls are still too database-intensive, try the following:
84
 
85
+ * turning off "cross relate posts and pages";
86
+ * turning on "show only previous posts";
87
+ * not considering tags and/or categories in the Relatedness formula;
88
+ * not excluding any tags and/or categories in The Pool.
89
 
90
+ All of these can improve database performance.
91
 
92
+ If you are in the process of looking for a hosting provider whose databases will not balk under YARPP, I personally have had great success with [MediaTemple](http://www.mediatemple.net/go/order/?refdom=mitcho.com).
93
+
94
+ = Every page just says "no related posts"! What's up with that? =
95
+
96
+ Most likely you have "no related posts" right now as the default "match threshold" is too high. Here's what I recommend to find an appropriate match threshold: first, lower your match threshold in the YARPP prefs to something very low, like 1. Most likely the really low threshold will pull up many posts that aren't actually related (false positives), so look at some of your posts' related posts and their match scores. This will help you find an appropriate threshold. You want it lower than what you have now, but high enough so it doesn't have many false positives.
97
+
98
+ = How do I turn off the match score next to the related posts? =
99
+
100
+ The match score display is only for administrators... you can log out of `wp-admin` and check out the post again and you will see that the score is gone.
101
+
102
+ If you would like more flexibility in changing the display of your related posts, please see the [templating tutorial](http://mitcho.com/blog/projects/yarpp-3-templates/).
103
 
104
  = I use DISQUS for comments. I can't access the YARPP options page! =
105
 
121
 
122
  = Are there any plugins that are incompatible with YARPP? =
123
 
124
+ Aside from the DISQUS plugin (see above), currently the only known incompatibility is [with the SEO_Pager plugin](http://wordpress.org/support/topic/267966) and the [Pagebar 2](http://www.elektroelch.de/hacks/wp/pagebar/) plugin. Users of SEO Pager are urged to turn off the automatic display option in SEO Pager and instead add the code manually. There are reports that the [WP Contact Form III plugin and Contact Form Plugin](http://wordpress.org/support/topic/392605) may also be incompatible with YARPP. Other related posts plugins, obviously, may also be incompatible.
125
 
126
  Please submit similar bugs by starting a new thread on [the Wordpress.org forums](http://wordpress.org/tags/yet-another-related-posts-plugin?forum_id=10#postform). I check the forums regularly and will try to release a quick bugfix.
127
 
128
+ = Does YARPP work with full-width characters or languages that don't use spaces between words? =
129
+
130
+ YARPP works fine with full-width (double-byte) characters, assuming your WordPress database is set up with Unicode support. 99% of the time, if you're able to write blog posts with full-width characters and they're displayed correctly, YARPP will work on your blog.
131
+
132
+ However, YARPP does have difficulty with languages that don't place spaces between words (Chinese, Japanese, etc.). For these languages, the "consider body" and "consider titles" options in the "Relatedness options" may not be very helpful. Using only tags and categories may work better for these languages.
133
+
134
  = Things are weird after I upgraded. =
135
 
136
  I highly recommend you disactivate YARPP, replace it with the new one, and then reactivate it.
158
  * Brazilian Portuguese (`pt_BR`) by Rafael Fischmann (yarpp-ptBR at mitcho.com) of [macmagazine.br](http://macmagazine.com.br/)
159
  * Russian (`ru_RU`) by Marat Latypov (yarpp-ru at mitcho.com) of [blogocms.ru](http://blogocms.ru)
160
  * Swedish (`sv_SE`) by Max Elander (yarpp-sv at mitcho dot com)
161
+ * Turkish (`tr_TR`) by Nurullah (yarpp-tr at mitcho.com) of [ndemir.com](http://www.ndemir.com)
162
  * Vietnamese (`vi_VN`) by Vu Nguyen (yarpp-vi at mitcho dot com) of [Rubik Integration](http://rubikintegration.com/)
163
  * Ukrainian (`uk_UA`) by [Onore](http://Onore.kiev.ua) (Alexander Musevich) (yarpp-uk at mitcho dot com)
164
  * Uzbek (`uz_UZ`) by Ali Safarov (yarpp-uz at mitcho dot com) of [comfi.com](http://www.comfi.com/)
171
  * Indonesian
172
  * Hungarian
173
  * Romanian
 
174
  * Thai
175
 
176
  If you are a bilingual speaker of English and another language and an avid user of YARPP, I would love to talk to you about localizing YARPP! Localizing YARPP can be pretty easy using [the Codestyling Localization plugin](http://www.code-styling.de/english/development/wordpress-plugin-codestyling-localization-en). Please [contact me](mailto:yarpp@mitcho.com) *first* before translating to make sure noone else is working on your language. Thanks!
177
 
178
  == Changelog ==
179
 
180
+ = 3.1.8 =
181
+ * Added Turkish localization (`tr_TR`)
182
+ * Bugfix: related pages and "cross-relate posts and pages" functionality is now working again.
183
+ * Some bare minimum changes for Multisite (WPMU) support.
184
+ * Reimplemented the old "show only previous posts" option. May improve performance for sites with frequent new posts, as there is then no longer a need to recompute the previous posts' related posts set, as it cannot include the new post anyway.
185
+ * Minor bugfix to threshold limiting.
186
+ * Minor fix which may help reduce [`strip_tags()` errors](http://wordpress.org/support/topic/353588).
187
+ * Updated FAQ.
188
+ * Code cleanup.
189
  = 3.1.7 =
190
  * Added Egyptian Arabic localization (`ar_EG`)
191
  * Changed default option for automatic display of related posts in feeds to OFF. May improve performance for new users who use the default settings.
yarpp.php CHANGED
@@ -3,13 +3,13 @@
3
  Plugin Name: Yet Another Related Posts Plugin
4
  Plugin URI: http://mitcho.com/code/yarpp/
5
  Description: Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. A templating feature allows customization of the display.
6
- Version: 3.1.7
7
  Author: mitcho (Michael Yoshitaka Erlewine)
8
  Author URI: http://mitcho.com/
9
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4DATK4999L&item_name=mitcho%2ecom%2fcode%3a%20donate%20to%20Michael%20Yoshitaka%20Erlewine&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&charset=UTF%2d8
10
  */
11
 
12
- define('YARPP_VERSION','3.1.7');
13
  define('YARPP_DIR',dirname(__FILE__));
14
 
15
  require_once(YARPP_DIR.'/includes.php');
@@ -24,16 +24,16 @@ add_filter('the_excerpt_rss','yarpp_rss_excerpt',600);
24
  register_activation_hook(__FILE__,'yarpp_activate');
25
 
26
  // new in 3.1: clear cache when updating certain settings.
27
- add_action('update_option_yarpp_distags','yarpp_clear_cache');
28
- add_action('update_option_yarpp_discats','yarpp_clear_cache');
29
- add_action('update_option_yarpp_show_pass_post','yarpp_clear_cache');
30
- add_action('update_option_yarpp_recent_only','yarpp_clear_cache');
31
- add_action('update_option_yarpp_threshold','yarpp_clear_cache');
32
- add_action('update_option_yarpp_title','yarpp_clear_cache');
33
- add_action('update_option_yarpp_body','yarpp_clear_cache');
34
- add_action('update_option_yarpp_categories','yarpp_clear_cache');
35
- add_action('update_option_yarpp_tags','yarpp_clear_cache');
36
- add_action('update_option_yarpp_tags','yarpp_clear_cache');
37
 
38
  load_plugin_textdomain('yarpp', PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)), dirname(plugin_basename(__FILE__)).'/lang',dirname(plugin_basename(__FILE__)).'/lang');
39
 
3
  Plugin Name: Yet Another Related Posts Plugin
4
  Plugin URI: http://mitcho.com/code/yarpp/
5
  Description: Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. A templating feature allows customization of the display.
6
+ Version: 3.1.8
7
  Author: mitcho (Michael Yoshitaka Erlewine)
8
  Author URI: http://mitcho.com/
9
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4DATK4999L&item_name=mitcho%2ecom%2fcode%3a%20donate%20to%20Michael%20Yoshitaka%20Erlewine&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&charset=UTF%2d8
10
  */
11
 
12
+ define('YARPP_VERSION','3.1.8');
13
  define('YARPP_DIR',dirname(__FILE__));
14
 
15
  require_once(YARPP_DIR.'/includes.php');
24
  register_activation_hook(__FILE__,'yarpp_activate');
25
 
26
  // new in 3.1: clear cache when updating certain settings.
27
+ add_action('update_site_option_yarpp_distags','yarpp_clear_cache');
28
+ add_action('update_site_option_yarpp_discats','yarpp_clear_cache');
29
+ add_action('update_site_option_yarpp_show_pass_post','yarpp_clear_cache');
30
+ add_action('update_site_option_yarpp_recent_only','yarpp_clear_cache');
31
+ add_action('update_site_option_yarpp_threshold','yarpp_clear_cache');
32
+ add_action('update_site_option_yarpp_title','yarpp_clear_cache');
33
+ add_action('update_site_option_yarpp_body','yarpp_clear_cache');
34
+ add_action('update_site_option_yarpp_categories','yarpp_clear_cache');
35
+ add_action('update_site_option_yarpp_tags','yarpp_clear_cache');
36
+ add_action('update_site_option_yarpp_tags','yarpp_clear_cache');
37
 
38
  load_plugin_textdomain('yarpp', PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)), dirname(plugin_basename(__FILE__)).'/lang',dirname(plugin_basename(__FILE__)).'/lang');
39