Aujourd’hui, j’ai découvert qu’un conflit pouvait apparaître entre les plugins WordPress Google XML Sitemap et Contact Form 7. En tentant d’accéder au sitemap.xml, j’obtenais cette erreur :
This page contains the following errors:
error on line 11 at column 67: EntityRef: expecting ‘;’Below is a rendering of the page up to the first error.
Cette erreur est dûe au « & » interprété comme un caractère html spécial auquel il manque le « ; » de fin.
La solution
Pour corriger ce souci, il suffit d’éditer le code source de Google XML Sitemap, de repérer la dernière condition if et la modifier comme suit :
1 2 3 4 5 6 7 8 9 10 | if ( ! empty( $post->post_title ) && ( get_post_type( $post->ID ) != "wpcf7_contact_form" ) ) { $xml .= "\t\n"; $xml .= "\t\t" . get_permalink( $post->ID ) . "\n"; $xml .= "\t\t" . mysql2date( 'Y-m-d\TH:i:s+00:00', $post->post_modified_gmt, false ) . "\n"; $xml .= "\t\t" . 'weekly' . "\n"; $xml .= "\t\t" . '0.8' . "\n"; $xml .= "\t\n"; } |
Cela supprimera tout bonnement la référence inutile 🙂
Solution trouvée sur http://wordpress.org/support/topic/google-xml-sitemap-erroring-due-to-contact-form-7
EDIT : Depuis je suis passé à WordPress SEO by Yoast, il s’agit d’un plugin qui comme son nom l’indique apporte toutes les fonctionnalités SEO qu’on peut attendre, dont la gestion de sitemap. Du coup plus de bug.
Je pense rédiger un article au sujet de ce plugin très bientôt, so stay plugged !