Google News Sitemap Script MultiSite tauglich

  • Hallo,

    ich habe mit Hilfe von http://bueltge.de/google-news-qu…ess-werden/836/ eine Google News Sitemap erstellt. Bei einer einfachen Wordpress installation funktioniert dies einwandfrei.

    Nun möchte ich das Ganze auf einer MultiSite installation anwenden. Kann mir jemand sagen, wie ich die Parameter ändern muss, dass sich das Script die richtigen Datensätze holt?

    Ich möchte es gerne mit diesem Tabellen-Prefix realisieren:
    wp_2_

    Ich lade das Script dann einfach in den Root meines Servers und rufe die einzelnen Sitemaps dann wie folgt auf:

    meineadresse.de/sitemap-1.php
    meineadresse.de/sitemap-2.php
    usw.

    Würde mich sehr freuen, wenn mir hier jemand weiterhelfen könnte!

    Hier nochmal der Code, um den es sich handelt:

    PHP
    <?php /**  * Google news sitemap with WordPress  * @author Frank Bueltge - bueltge.de  * @link http://bueltge.de/google-news-quelle-mit-wordpress-werden/836/  */ require('wp-load.php'); // XML header echo '<?xml version="1.0" encoding="utf-8"?>' . "\n"; // urlset echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"     xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">' . "\n"; // Select posts; set limit 20 $rows = $wpdb->get_results("SELECT DISTINCT ID, post_date_gmt, post_title                             FROM $wpdb->posts, $wpdb->term_relationships, $wpdb->term_taxonomy                             WHERE $wpdb->term_relationships.object_id = $wpdb->posts.id                             AND post_status = 'publish'                             AND post_type = 'post'                             AND $wpdb->term_taxonomy.term_taxonomy_id = $wpdb->term_relationships.term_taxonomy_id                             AND $wpdb->term_taxonomy.taxonomy = 'category'                             AND $wpdb->term_taxonomy.term_id IN (7)                             ORDER BY $wpdb->posts.post_date_gmt DESC                             LIMIT 0, 20"); // sitemap data foreach ($rows as $row) {     echo "\t" . '<url>' . "\n";     echo "\t\t" . '<loc>';     echo get_permalink($row->ID);     echo '</loc>' . "\n";     echo "\t\t" . '<news:news>' . "\n";     echo "\t\t\t" . '<news:publication>' . "\n";     echo "\t\t\t\t" . '<news:name>' . get_bloginfo('name') . '</news:name>' . "\n"; //eventuell haendisch pflegen     echo "\t\t\t\t" . '<news:language>' . get_option('rss_language') . '</news:language>' . "\n";     echo "\t\t\t" . '</news:publication>' . "\n";     echo "\t\t\t" . '<news:genres>pressrelease, blog, UserGenerated</news:genres>' . "\n"; //eventuell haendisch pflegen     echo "\t\t\t" . '<news:publication_date>';     $thedate  = substr($row->post_date_gmt, 0, 10);     $thetime  = substr($row->post_date_gmt, 11, 20);     echo $thedate . 'T' . $thetime . 'Z';     echo '</news:publication_date>' . "\n";     echo "\t\t\t" . '<news:title>' . htmlspecialchars( $row->post_title ) . '</news:title>' . "\n";     $tags     = wp_get_post_tags( $row->ID, array('fields' => 'all') );     $tagcount = count($tags);     if ($tagcount > 0) {         echo "\t\t\t" . '<news:keywords>';         for ($i = 0; $i < $tagcount; $i++) {             echo $taglist  = str_replace( "'", '', str_replace( '"', '', urldecode($tags[$i]->name) ) );             if ( $i != $tagcount-1 )              echo ', ';         }         echo '</news:keywords>' . "\n";     }     echo "\t\t" . '</news:news>' . "\n";     echo "\t" . '</url>' . "\n"; } echo '</urlset>'; ?>


    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!