Version Description
Download this release
Release Info
Developer | arnee |
Plugin | Google XML Sitemaps |
Version | 3.1.7 |
Comparing to | |
See all releases |
Code changes from version 3.1.6 to 3.1.7
- documentation.txt +1 -1
- readme.txt +3 -3
- sitemap-core.php +67 -3
- sitemap-ui.php +33 -2
- sitemap.php +2 -2
documentation.txt
CHANGED
@@ -213,7 +213,7 @@
|
|
213 |
Improved handling of missing sitemaps files if WP was moved to another location
|
214 |
2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference"
|
215 |
Fixed wrong URLS of multi-page posts (Thanks artstorm!)
|
216 |
-
|
217 |
|
218 |
Maybe Todo:
|
219 |
==============================================================================
|
213 |
Improved handling of missing sitemaps files if WP was moved to another location
|
214 |
2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference"
|
215 |
Fixed wrong URLS of multi-page posts (Thanks artstorm!)
|
216 |
+
2009-10-21 3.1.7 Added support for custom taxonomies (Thanks to Lee!)
|
217 |
|
218 |
Maybe Todo:
|
219 |
==============================================================================
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.arnebrachhold.de/redir/sitemap-paypal
|
|
4 |
Tags: google, sitemaps, google sitemaps, yahoo, msn, ask, live, xml sitemap, xml
|
5 |
Requires at least: 2.1
|
6 |
Tested up to: 2.9
|
7 |
-
Stable tag: 3.1.
|
8 |
|
9 |
This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog.
|
10 |
|
@@ -17,7 +17,7 @@ Related Links:
|
|
17 |
* <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" title="Google XML Sitemaps Plugin for WordPress">Plugin Homepage</a>
|
18 |
* <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/changelog/" title="Changelog of the Google XML Sitemaps Plugin for WordPress">Changelog</a>
|
19 |
* <a href="http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/" title="Google Sitemaps FAQ">Plugin and sitemaps FAQ</a>
|
20 |
-
* <a href="http://wordpress.org/tags/google-sitemap-generator">Support Forum</a>
|
21 |
|
22 |
|
23 |
== Installation ==
|
@@ -56,7 +56,7 @@ Most of the plugin options are described at the [plugin homepage](http://www.arn
|
|
56 |
|
57 |
= My question isn't even answered there =
|
58 |
|
59 |
-
Please post your question at the [WordPress support forum](http://wordpress.org/tags/sitemap) and tag your post with "sitemap".
|
60 |
|
61 |
= What's new in the latest version? =
|
62 |
|
4 |
Tags: google, sitemaps, google sitemaps, yahoo, msn, ask, live, xml sitemap, xml
|
5 |
Requires at least: 2.1
|
6 |
Tested up to: 2.9
|
7 |
+
Stable tag: 3.1.6
|
8 |
|
9 |
This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog.
|
10 |
|
17 |
* <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" title="Google XML Sitemaps Plugin for WordPress">Plugin Homepage</a>
|
18 |
* <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/changelog/" title="Changelog of the Google XML Sitemaps Plugin for WordPress">Changelog</a>
|
19 |
* <a href="http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/" title="Google Sitemaps FAQ">Plugin and sitemaps FAQ</a>
|
20 |
+
* <a href="http://wordpress.org/tags/google-sitemap-generator?forum_id=10">Support Forum</a>
|
21 |
|
22 |
|
23 |
== Installation ==
|
56 |
|
57 |
= My question isn't even answered there =
|
58 |
|
59 |
+
Please post your question at the [WordPress support forum](http://wordpress.org/tags/google-sitemap-generator?forum_id=10) and tag your post with "google-sitemap-generator".
|
60 |
|
61 |
= What's new in the latest version? =
|
62 |
|
sitemap-core.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
|
4 |
-
$Id: sitemap-core.php
|
5 |
|
6 |
*/
|
7 |
|
@@ -544,7 +544,7 @@ class GoogleSitemapGeneratorXmlEntry {
|
|
544 |
class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry {
|
545 |
|
546 |
function Render() {
|
547 |
-
return "<!-- " . $this->_xml . "
|
548 |
}
|
549 |
}
|
550 |
|
@@ -863,7 +863,7 @@ class GoogleSitemapGenerator {
|
|
863 |
/**
|
864 |
* @var Version of the generator in SVN
|
865 |
*/
|
866 |
-
var $_svnVersion = '$Id: sitemap-core.php
|
867 |
|
868 |
/**
|
869 |
* @var array The unserialized array with the stored options
|
@@ -1048,6 +1048,7 @@ class GoogleSitemapGenerator {
|
|
1048 |
$this->_options["sm_in_arch"]=false; //Include archives
|
1049 |
$this->_options["sm_in_auth"]=false; //Include author pages
|
1050 |
$this->_options["sm_in_tags"]=false; //Include tag pages
|
|
|
1051 |
$this->_options["sm_in_lastmod"]=true; //Include the last modification date
|
1052 |
|
1053 |
$this->_options["sm_cf_home"]="daily"; //Change frequency of the homepage
|
@@ -1267,6 +1268,16 @@ class GoogleSitemapGenerator {
|
|
1267 |
return (function_exists("get_taxonomy") && function_exists("get_terms"));
|
1268 |
}
|
1269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1270 |
/**
|
1271 |
* Enables the Google Sitemap Generator and registers the WordPress hooks
|
1272 |
*
|
@@ -2158,6 +2169,59 @@ class GoogleSitemapGenerator {
|
|
2158 |
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Tags"));
|
2159 |
}
|
2160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2161 |
//Add the custom pages
|
2162 |
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Custom Pages"));
|
2163 |
if($this->_pages && is_array($this->_pages) && count($this->_pages)>0) {
|
1 |
<?php
|
2 |
/*
|
3 |
|
4 |
+
$Id: sitemap-core.php 165547 2009-10-21 20:19:36Z arnee $
|
5 |
|
6 |
*/
|
7 |
|
544 |
class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry {
|
545 |
|
546 |
function Render() {
|
547 |
+
return "<!-- " . $this->_xml . " -->\n";
|
548 |
}
|
549 |
}
|
550 |
|
863 |
/**
|
864 |
* @var Version of the generator in SVN
|
865 |
*/
|
866 |
+
var $_svnVersion = '$Id: sitemap-core.php 165547 2009-10-21 20:19:36Z arnee $';
|
867 |
|
868 |
/**
|
869 |
* @var array The unserialized array with the stored options
|
1048 |
$this->_options["sm_in_arch"]=false; //Include archives
|
1049 |
$this->_options["sm_in_auth"]=false; //Include author pages
|
1050 |
$this->_options["sm_in_tags"]=false; //Include tag pages
|
1051 |
+
$this->_options["sm_in_tax"]=array(); //Include additional taxonomies
|
1052 |
$this->_options["sm_in_lastmod"]=true; //Include the last modification date
|
1053 |
|
1054 |
$this->_options["sm_cf_home"]="daily"; //Change frequency of the homepage
|
1268 |
return (function_exists("get_taxonomy") && function_exists("get_terms"));
|
1269 |
}
|
1270 |
|
1271 |
+
/**
|
1272 |
+
* Returns the list of custom taxonies
|
1273 |
+
*
|
1274 |
+
* @return array Array of names of user-defined taxonomies
|
1275 |
+
*/
|
1276 |
+
function GetCustomTaxonomies() {
|
1277 |
+
$taxonomies = get_object_taxonomies('post');
|
1278 |
+
return array_diff($taxonomies,array("category","post_tag"));
|
1279 |
+
}
|
1280 |
+
|
1281 |
/**
|
1282 |
* Enables the Google Sitemap Generator and registers the WordPress hooks
|
1283 |
*
|
2169 |
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Tags"));
|
2170 |
}
|
2171 |
|
2172 |
+
//Add custom taxonomy pages
|
2173 |
+
if($this->GetOption("in_tax") && $this->IsTaxonomySupported()) {
|
2174 |
+
|
2175 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start custom taxonomies"));
|
2176 |
+
$enabledTaxonomies = $this->GetOption("in_tax");
|
2177 |
+
|
2178 |
+
$taxList = array();
|
2179 |
+
|
2180 |
+
foreach ($enabledTaxonomies as $taxName) {
|
2181 |
+
$taxonomy = get_taxonomy($taxName);
|
2182 |
+
if($taxonomy) $taxList[] = $taxonomy;
|
2183 |
+
}
|
2184 |
+
|
2185 |
+
if(count($taxList)>0) {
|
2186 |
+
|
2187 |
+
foreach ($taxList as $taxonomy) {
|
2188 |
+
|
2189 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Taxonomy " . $taxonomy->name));
|
2190 |
+
|
2191 |
+
$terms = get_terms($taxonomy->name, array("hide_empty" => true, "hierarchical" => false));
|
2192 |
+
|
2193 |
+
if($terms && is_array($terms) && count($terms)>0) {
|
2194 |
+
$termIDs = array();
|
2195 |
+
|
2196 |
+
foreach($terms AS $term) $termIDs[] = $wpdb->escape($term->term_taxonomy_id);
|
2197 |
+
|
2198 |
+
$lastMods = $wpdb->get_results("
|
2199 |
+
SELECT
|
2200 |
+
r.term_taxonomy_id AS term_id,
|
2201 |
+
UNIX_TIMESTAMP(MAX(post_date_gmt)) as mod_date
|
2202 |
+
FROM
|
2203 |
+
{$wpdb->posts} p , {$wpdb->term_relationships} r
|
2204 |
+
WHERE
|
2205 |
+
p.ID = r.object_id
|
2206 |
+
AND p.post_status = 'publish'
|
2207 |
+
AND p.post_type = 'post'
|
2208 |
+
AND p.post_password = ''
|
2209 |
+
AND r.term_taxonomy_id IN ( ". implode(',',$termIDs) .")
|
2210 |
+
", OBJECT_K);
|
2211 |
+
|
2212 |
+
foreach($terms AS $term) {
|
2213 |
+
$lastMod = (array_key_exists($term->term_taxonomy_id,$lastMods)?$lastMods[$term->term_taxonomy_id]->mod_date:0);
|
2214 |
+
$this->AddUrl(get_term_link($term,$taxonomy->name),$lastMod,$this->GetOption("cf_tags"),$this->GetOption("pr_tags"));
|
2215 |
+
}
|
2216 |
+
}
|
2217 |
+
|
2218 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Taxonomy " . $taxonomy->name));
|
2219 |
+
}
|
2220 |
+
}
|
2221 |
+
|
2222 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End custom taxonomies"));
|
2223 |
+
}
|
2224 |
+
|
2225 |
//Add the custom pages
|
2226 |
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Custom Pages"));
|
2227 |
if($this->_pages && is_array($this->_pages) && count($this->_pages)>0) {
|
sitemap-ui.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
|
4 |
-
$Id: sitemap-ui.php
|
5 |
|
6 |
*/
|
7 |
|
@@ -267,7 +267,19 @@ class GoogleSitemapGeneratorUI {
|
|
267 |
}
|
268 |
//Options of the category "Includes" are boolean
|
269 |
} else if(substr($k,0,6)=="sm_in_") {
|
270 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
//Options of the category "Change frequencies" are string
|
272 |
} else if(substr($k,0,6)=="sm_cf_") {
|
273 |
$this->sg->_options[$k]=(string) $_POST[$k];
|
@@ -981,6 +993,25 @@ class GoogleSitemapGeneratorUI {
|
|
981 |
<?php _e('Include tag pages', 'sitemap') ?>
|
982 |
</label>
|
983 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
984 |
<?php endif; ?>
|
985 |
<li>
|
986 |
<label for="sm_in_auth">
|
1 |
<?php
|
2 |
/*
|
3 |
|
4 |
+
$Id: sitemap-ui.php 165547 2009-10-21 20:19:36Z arnee $
|
5 |
|
6 |
*/
|
7 |
|
267 |
}
|
268 |
//Options of the category "Includes" are boolean
|
269 |
} else if(substr($k,0,6)=="sm_in_") {
|
270 |
+
if($k=='sm_in_tax') {
|
271 |
+
|
272 |
+
$enabledTaxonomies = array();
|
273 |
+
|
274 |
+
foreach(array_keys((array) $_POST[$k]) AS $taxName) {
|
275 |
+
if(empty($taxName) || !is_taxonomy($taxName)) continue;
|
276 |
+
|
277 |
+
$enabledTaxonomies[] = $taxName;
|
278 |
+
}
|
279 |
+
|
280 |
+
$this->sg->_options[$k] = $enabledTaxonomies;
|
281 |
+
|
282 |
+
} else $this->sg->_options[$k]=(bool) $_POST[$k];
|
283 |
//Options of the category "Change frequencies" are string
|
284 |
} else if(substr($k,0,6)=="sm_cf_") {
|
285 |
$this->sg->_options[$k]=(string) $_POST[$k];
|
993 |
<?php _e('Include tag pages', 'sitemap') ?>
|
994 |
</label>
|
995 |
</li>
|
996 |
+
<?php
|
997 |
+
$taxonomies = $this->sg->GetCustomTaxonomies();
|
998 |
+
|
999 |
+
$enabledTaxonomies = $this->sg->GetOption('in_tax');
|
1000 |
+
|
1001 |
+
foreach ($taxonomies as $taxName) {
|
1002 |
+
|
1003 |
+
$taxonomy = get_taxonomy($taxName);
|
1004 |
+
$selected = in_array($taxonomy->name, $enabledTaxonomies);
|
1005 |
+
?>
|
1006 |
+
<li>
|
1007 |
+
<label for="sm_in_tax[<?php echo $taxonomy->name; ?>]">
|
1008 |
+
<input type="checkbox" id="sm_in_tax[<?php echo $taxonomy->name; ?>]" name="sm_in_tax[<?php echo $taxonomy->name; ?>]" <?php echo $selected?"checked=\"checked\"":""; ?> />
|
1009 |
+
<?php echo str_replace('%s',$taxonomy->label,__('Include taxonomy pages for %s', 'sitemap')); ?>
|
1010 |
+
</label>
|
1011 |
+
<li>
|
1012 |
+
<?php
|
1013 |
+
}
|
1014 |
+
?>
|
1015 |
<?php endif; ?>
|
1016 |
<li>
|
1017 |
<label for="sm_in_auth">
|
sitemap.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
$Id: sitemap.php
|
5 |
|
6 |
Google XML Sitemaps Generator for WordPress
|
7 |
==============================================================================
|
@@ -25,7 +25,7 @@
|
|
25 |
Plugin Name: Google XML Sitemaps
|
26 |
Plugin URI: http://www.arnebrachhold.de/redir/sitemap-home/
|
27 |
Description: This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. <a href="options-general.php?page=sitemap.php">Configuration Page</a>
|
28 |
-
Version: 3.1.
|
29 |
Author: Arne Brachhold
|
30 |
Author URI: http://www.arnebrachhold.de/
|
31 |
*/
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
$Id: sitemap.php 165547 2009-10-21 20:19:36Z arnee $
|
5 |
|
6 |
Google XML Sitemaps Generator for WordPress
|
7 |
==============================================================================
|
25 |
Plugin Name: Google XML Sitemaps
|
26 |
Plugin URI: http://www.arnebrachhold.de/redir/sitemap-home/
|
27 |
Description: This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. <a href="options-general.php?page=sitemap.php">Configuration Page</a>
|
28 |
+
Version: 3.1.7
|
29 |
Author: Arne Brachhold
|
30 |
Author URI: http://www.arnebrachhold.de/
|
31 |
*/
|