Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- add_action("publish_post", "eg_create_sitemap");
- add_action("save_post", "eg_create_sitemap");
- add_action("edit_post", "eg_create_sitemap");
- function eg_create_sitemap() {
- $postsForSitemap = get_posts(array(
- 'numberposts' => -1,
- 'category__in' => array(794,817,812,806),
- 'orderby' => 'post_date',
- 'post_type' => array('post'),
- 'order' => 'DESC',
- 'post_status' => 'publish'
- ));
- $sitemap = '<?xml version="1.0" encoding="utf-8"?>'."\n";
- $sitemap .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:review="http://www.google.com/schemas/">'."\n";
- global $wpdb, $post;
- foreach($postsForSitemap as $post)
- {
- setup_postdata($post);
- $post_id = $post->ID;
- $postDate = $post->post_date;
- $postContent = htmlspecialchars($post->post_excerpt);
- $postName = htmlspecialchars($post->post_name);
- $posttitle = htmlspecialchars($post->post_title);
- $postURL = get_permalink( $post->ID );
- $postAuthor = get_the_author();
- $postCategories = get_the_category($post_id);
- $reviewScore = $wpdb->query(
- $wpdb->prepare(
- "SELECT review FROM tableName_gdsr_data_article WHERE post_id = '$post_id'"
- )
- );
- $reviewMaxScore = 5;
- $omdomePros = get_post_meta($post->ID, 'omdome_pros', true);
- $omdomePros = str_replace('<br />', ',', $omdomePros);
- $omdomePros = str_replace(' ', '', $omdomePros);
- $omdomePros = strip_tags($omdomePros);
- $omdomeProsArray = explode(',', $omdomePros);
- $omdomeCons = get_post_meta($post->ID, 'omdome_cons', true);
- $omdomeCons = str_replace('<br />', ',', $omdomeCons);
- $omdomeCons = str_replace(' ', '', $omdomeCons);
- $omdomeCons = strip_tags($omdomeCons);
- $omdomeConsArray = explode(',', $omdomeCons);
- $productName = get_post_meta($post->ID, 'pricerunner_productName', true);
- $productCat = get_post_meta($post->ID, 'pricerunner_productCatID', true);
- $gameFormat = get_post_meta($post->ID, 'gameDetails_format', true);
- $gameGenre = get_post_meta($post->ID, 'gameDetails_genre', true);
- $gameDeveloper = get_post_meta($post->ID, 'gameDetails_utvecklare', true);
- $gameDistributor = get_post_meta($post->ID, 'gameDetails_utgivare', true);
- $gamePlayers = get_post_meta($post->ID, 'gameDetails_antalSpelare', true);
- $sitemap .= '<review id="'.$post_id.'">'."\n".
- "\t".'<url>'. $postURL .'</url>'."\n".
- "\t".'<title>'. $posttitle .'</title>'."\n".
- "\t".'<date>'. $postDate .'</date>'."\n".
- "\t".'<author>'. $postAuthor .'</author>'."\n".
- "\t".'<summary>'. $postContent .'</summary>'."\n".
- "\t".'<score>'. $reviewScore .'</score>'."\n".
- "\t".'<max-score>'. $reviewMaxScore .'</max-score>'."\n";
- if ($postCategories) {
- foreach($postCategories as $postCategory) {
- $catcat = $postCategory->cat_name;
- // If the parent category is Teknik
- if($catcat == "Teknik") {
- $sitemap .= "\t".'<pricerunnerName>'. $productName .'</pricerunnerName>'."\n";
- $sitemap .= "\t".'<pricerunnerID>'. $productCat .'</pricerunnerID>'."\n";
- if($omdomeProsArray) {
- foreach($omdomeProsArray as $prosArray) {
- $sitemap .= "\t".'<pros>'.$prosArray.'</pros>'."\n";
- }
- }
- if($omdomeConsArray) {
- foreach($omdomeConsArray as $consArray) {
- $sitemap .= "\t".'<cons>'.$consArray.'</cons>'."\n";
- }
- }
- }
- // If the parent category is Spel
- if($catcat == "Spel") {
- if($omdomeProsArray) {
- foreach($omdomeProsArray as $prosArray) {
- $sitemap .= "\t".'<pros>'.$prosArray.'</pros>'."\n";
- }
- }
- if($omdomeConsArray) {
- foreach($omdomeConsArray as $consArray) {
- $sitemap .= "\t".'<cons>'.$consArray.'</cons>'."\n";
- }
- }
- $sitemap .= "\t".'<format>'. $gameFormat .'</format>'."\n";
- $sitemap .= "\t".'<genre>'. $gameGenre .'</genre>'."\n";
- $sitemap .= "\t".'<developer>'. $gameDeveloper .'</developer>'."\n";
- $sitemap .= "\t".'<distributor>'. $gameDistributor .'</distributor>'."\n";
- $sitemap .= "\t".'<players>'. $gamePlayers .'</players>'."\n";
- }
- }
- }
- if ($postCategories) {
- foreach($postCategories as $postCategory) {
- $sitemap .= "\t".'<category>'.$postCategory->cat_name.'</category>'."\n";
- }
- }
- $sitemap .='</review>'."\n";
- }
- $sitemap .= '</urlset>';
- $fp = fopen(ABSPATH . "reviews.xml", 'w');
- fwrite($fp, $sitemap);
- fclose($fp);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement