Version Description
Download this release
Release Info
| Developer | freediver |
| Plugin | |
| Version | 1.3 |
| Comparing to | |
| See all releases | |
Code changes from version 1.2 to 1.3
- readme.txt +8 -0
- seo-links.php +42 -10
readme.txt
CHANGED
|
@@ -19,6 +19,14 @@ It also give your visitors an opportunity to visit other sections of your site t
|
|
| 19 |
Everything happens completely transparent, and you can edit the options from the administration settings panel.
|
| 20 |
|
| 21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
v1.2:
|
| 23 |
- Added limits options
|
| 24 |
- Fixed small bugs
|
| 19 |
Everything happens completely transparent, and you can edit the options from the administration settings panel.
|
| 20 |
|
| 21 |
|
| 22 |
+
v1.3:
|
| 23 |
+
- Enabled caching for speeding queries up. Make sure you have
|
| 24 |
+
define(ENABLE_CACHE, true);
|
| 25 |
+
|
| 26 |
+
set in your wp-config.php
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
|
| 30 |
v1.2:
|
| 31 |
- Added limits options
|
| 32 |
- Fixed small bugs
|
seo-links.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
/*
|
| 4 |
Plugin Name: SEO Smart Links
|
| 5 |
-
Version: 1.
|
| 6 |
Plugin URI: http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links
|
| 7 |
Author: Vladimir Prelovac
|
| 8 |
Author URI: http://www.prelovac.com
|
|
@@ -31,6 +31,11 @@ class SEOLinks {
|
|
| 31 |
if ($options['comment'])
|
| 32 |
add_filter('comment_text', array(&$this, 'SEOLinks_comment_text_filter'), 10);
|
| 33 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
// Add Options Page
|
| 35 |
add_action('admin_menu', array(&$this, 'SEOLinks_admin_menu'));
|
| 36 |
|
|
@@ -76,9 +81,14 @@ $text = " $text ";
|
|
| 76 |
|
| 77 |
if ($options['lposts'] || $options['lpages'])
|
| 78 |
{
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
|
| 83 |
foreach ($posts as $postitem)
|
| 84 |
{
|
|
@@ -110,8 +120,14 @@ if ($options['lposts'] || $options['lpages'])
|
|
| 110 |
|
| 111 |
if ($options['lcats'])
|
| 112 |
{
|
| 113 |
-
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
foreach ($categories as $cat)
|
| 116 |
{
|
| 117 |
$name= preg_quote($cat->name, '/');
|
|
@@ -138,8 +154,14 @@ if ($options['lcats'])
|
|
| 138 |
if ($options['ltags'])
|
| 139 |
{
|
| 140 |
|
| 141 |
-
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
foreach ($tags as $tag)
|
| 144 |
{
|
| 145 |
$name = preg_quote($tag->name, '/');
|
|
@@ -252,6 +274,7 @@ function explode_trim($separator, $text)
|
|
| 252 |
|
| 253 |
|
| 254 |
update_option($this->SEOLinks_DB_option, $options);
|
|
|
|
| 255 |
echo '<div class="updated fade"><p>Plugin settings saved.</p></div>';
|
| 256 |
}
|
| 257 |
|
|
@@ -317,8 +340,8 @@ function explode_trim($separator, $text)
|
|
| 317 |
<p>Select automatic link targets.</p>
|
| 318 |
<input type="checkbox" name="lposts" $lposts /><label for="lposts"> Posts</label> <br>
|
| 319 |
<input type="checkbox" name="lpages" $lpages /><label for="lpages"> Pages</label> <br>
|
| 320 |
-
<input type="checkbox" name="lcats" $lcats /><label for="lcats"> Categories</label> <br>
|
| 321 |
-
<input type="checkbox" name="ltags" $ltags /><label for="ltags"> Tags</label> <br>
|
| 322 |
|
| 323 |
<h4>Ignore</h4>
|
| 324 |
<p>You may wish to ignore certain words or phrases. Seperate them by comma.</p>
|
|
@@ -352,6 +375,15 @@ END;
|
|
| 352 |
add_options_page('SEO Smart Links Options', 'SEO Smart Links', 8, basename(__FILE__), array(&$this, 'handle_options'));
|
| 353 |
}
|
| 354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 355 |
}
|
| 356 |
|
| 357 |
endif;
|
| 2 |
|
| 3 |
/*
|
| 4 |
Plugin Name: SEO Smart Links
|
| 5 |
+
Version: 1.3
|
| 6 |
Plugin URI: http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links
|
| 7 |
Author: Vladimir Prelovac
|
| 8 |
Author URI: http://www.prelovac.com
|
| 31 |
if ($options['comment'])
|
| 32 |
add_filter('comment_text', array(&$this, 'SEOLinks_comment_text_filter'), 10);
|
| 33 |
}
|
| 34 |
+
|
| 35 |
+
add_action( 'create_category', array(&$this, 'SEOLinks_delete_cache'));
|
| 36 |
+
add_action( 'edit_category', array(&$this,'SEOLinks_delete_cache'));
|
| 37 |
+
add_action( 'edit_post', array(&$this,'SEOLinks_delete_cache'));
|
| 38 |
+
add_action( 'save_post', array(&$this,'SEOLinks_delete_cache'));
|
| 39 |
// Add Options Page
|
| 40 |
add_action('admin_menu', array(&$this, 'SEOLinks_admin_menu'));
|
| 41 |
|
| 81 |
|
| 82 |
if ($options['lposts'] || $options['lpages'])
|
| 83 |
{
|
| 84 |
+
if ( !$posts = wp_cache_get( 'seo-links-posts', 'seo-smart-links' ) ) {
|
| 85 |
+
|
| 86 |
+
$query="SELECT post_title, ID, guid, post_type FROM $wpdb->posts WHERE post_status = 'publish'";
|
| 87 |
+
$posts = $wpdb->get_results($query);
|
| 88 |
+
|
| 89 |
+
wp_cache_add( 'seo-links-posts', $posts, 'seo-smart-links',86400 );
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
|
| 93 |
foreach ($posts as $postitem)
|
| 94 |
{
|
| 120 |
|
| 121 |
if ($options['lcats'])
|
| 122 |
{
|
| 123 |
+
if ( !$categories = wp_cache_get( 'seo-links-categories', 'seo-smart-links' ) ) {
|
| 124 |
+
|
| 125 |
+
$query="SELECT wp_terms.name, wp_terms.term_id FROM wp_terms LEFT JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id WHERE wp_term_taxonomy.taxonomy = 'category'";
|
| 126 |
+
$categories = $wpdb->get_results($query);
|
| 127 |
+
|
| 128 |
+
wp_cache_add( 'seo-links-categories', $categories, 'seo-smart-links',86400 );
|
| 129 |
+
}
|
| 130 |
+
|
| 131 |
foreach ($categories as $cat)
|
| 132 |
{
|
| 133 |
$name= preg_quote($cat->name, '/');
|
| 154 |
if ($options['ltags'])
|
| 155 |
{
|
| 156 |
|
| 157 |
+
if ( !$tags = wp_cache_get( 'seo-links-tags', 'seo-smart-links' ) ) {
|
| 158 |
+
|
| 159 |
+
$query="SELECT wp_terms.name, wp_terms.term_id FROM wp_terms LEFT JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id WHERE wp_term_taxonomy.taxonomy = 'post_tag'";
|
| 160 |
+
$tags = $wpdb->get_results($query);
|
| 161 |
+
|
| 162 |
+
wp_cache_add( 'seo-links-tags', $tags, 'seo-smart-links',86400 );
|
| 163 |
+
}
|
| 164 |
+
|
| 165 |
foreach ($tags as $tag)
|
| 166 |
{
|
| 167 |
$name = preg_quote($tag->name, '/');
|
| 274 |
|
| 275 |
|
| 276 |
update_option($this->SEOLinks_DB_option, $options);
|
| 277 |
+
$this->SEOLinks_delete_cache(0);
|
| 278 |
echo '<div class="updated fade"><p>Plugin settings saved.</p></div>';
|
| 279 |
}
|
| 280 |
|
| 340 |
<p>Select automatic link targets.</p>
|
| 341 |
<input type="checkbox" name="lposts" $lposts /><label for="lposts"> Posts</label> <br>
|
| 342 |
<input type="checkbox" name="lpages" $lpages /><label for="lpages"> Pages</label> <br>
|
| 343 |
+
<input type="checkbox" name="lcats" $lcats /><label for="lcats"> Categories (can slow down big sites)</label> <br>
|
| 344 |
+
<input type="checkbox" name="ltags" $ltags /><label for="ltags"> Tags (can slow down big sites)</label> <br>
|
| 345 |
|
| 346 |
<h4>Ignore</h4>
|
| 347 |
<p>You may wish to ignore certain words or phrases. Seperate them by comma.</p>
|
| 375 |
add_options_page('SEO Smart Links Options', 'SEO Smart Links', 8, basename(__FILE__), array(&$this, 'handle_options'));
|
| 376 |
}
|
| 377 |
|
| 378 |
+
function SEOLinks_delete_cache($id) {
|
| 379 |
+
wp_cache_delete( 'seo-links-categories', 'seo-smart-links' );
|
| 380 |
+
wp_cache_delete( 'seo-links-tags', 'seo-smart-links' );
|
| 381 |
+
wp_cache_delete( 'seo-links-posts', 'seo-smart-links' );
|
| 382 |
+
}
|
| 383 |
+
//add_action( 'comment_post', 'SEOLinks_delete_cache');
|
| 384 |
+
//add_action( 'wp_set_comment_status', 'SEOLinks_delete_cache');
|
| 385 |
+
|
| 386 |
+
|
| 387 |
}
|
| 388 |
|
| 389 |
endif;
|
