Index: /lib/filter_functions.inc.php
===================================================================
--- /lib/filter_functions.inc.php	(revision 7772)
+++ /lib/filter_functions.inc.php	(revision 7773)
@@ -402,5 +402,5 @@
         try {
 
-            $api_return = $GLOBALS['wpsg_sc']->get_url_post_content('https://api.maennchen1.de/', array(
+            $api_return = $GLOBALS['wpsg_sc']->get_url_post_content('https://apitest.maennchen1.de/', array(
                 'f' => $func,
                 'app' => 'wpsg',
Index: /model/wpsg_news.class.php
===================================================================
--- /model/wpsg_news.class.php	(revision 7772)
+++ /model/wpsg_news.class.php	(revision 7773)
@@ -10,5 +10,5 @@
 		
 		/** URL fÃŒr den Feed */
-		private static $rss_url = 'https://wpshopgermany.maennchen1.de/feed/';
+		private static $rss_url = 'https://apitest.maennchen1.de/feed/';
 		
 		/** Limit fÃŒr die News */
@@ -47,41 +47,54 @@
 		public static function getLatestNewsFromRSS() {
 
-		    try {
-
-		        $xml = new SimpleXMLElement($GLOBALS['wpsg_sc']->get_url_content(self::$rss_url));
-
-            } catch (\wpsg\Exception $e) {
-
-		        wpsg_ShopController::getShop()->addBackendError(__('Konnte News nicht laden.', 'wpsg'));
-
-		        return [];
+            $wpsg_lastapifail = intval($GLOBALS['wpsg_sc']->get_option('wpsg_lastapifail', true));
+            $min_api_fail = 720;
+
+            if ($wpsg_lastapifail <= 0 || $wpsg_lastapifail < time() - 60 * $min_api_fail || isset($_REQUEST['force_check']) || wpsg_isSizedInt($_REQUEST['reload'])) {
+
+                try {
+
+                    $xml = new SimpleXMLElement($GLOBALS['wpsg_sc']->get_url_content(self::$rss_url));
+
+                } catch (\wpsg\Exception $e) {
+
+                    $GLOBALS['wpsg_sc']->update_option('wpsg_lastapifail', strval(time()), true, false, WPSG_SANITIZE_INT);
+
+                    wpsg_ShopController::getShop()->addBackendError(__('Konnte News nicht laden.', 'wpsg'));
+
+                    return [];
+
+                }
+
+                $result = $xml->xpath('//item');
+
+                $count = 0; $arReturn = array();
+
+                foreach ($result as $node) {
+
+                    $count ++;
+
+                    $arReturn[] = array(
+                        'id' => strval($node->guid[0]),
+                        'title' => strval($node->title[0]),
+                        'url' => strval($node->link[0]),
+                        'date' => strtotime(strval($node->pubDate[0])),
+                        'teaser' => strval($node->description[0])
+                    );
+
+                    if ($count >= self::$nLimit) break;
+
+                }
+
+                // News im Cache ablegen
+                $GLOBALS['wpsg_sc']->update_option('wpsg_news_cache', $arReturn, false, false, WPSG_SANITIZE_NONE);
+                $GLOBALS['wpsg_sc']->update_option('wpsg_news_cache_refresh', time(), false, false, WPSG_SANITIZE_NONE);
+
+                return $arReturn;
+
+            } else {
+
+                return [];
 
             }
-			
-			$result = $xml->xpath('//item');
-			
-			$count = 0; $arReturn = array();
-			
-			foreach ($result as $node) {
-				
-				$count ++;
-				
-				$arReturn[] = array(
-					'id' => strval($node->guid[0]),
-					'title' => strval($node->title[0]),
-					'url' => strval($node->link[0]),
-					'date' => strtotime(strval($node->pubDate[0])),
-					'teaser' => strval($node->description[0])						
-				);
-								
-				if ($count >= self::$nLimit) break;
-								
-			}
-			
-			// News im Cache ablegen
-			$GLOBALS['wpsg_sc']->update_option('wpsg_news_cache', $arReturn, false, false, WPSG_SANITIZE_NONE);
-			$GLOBALS['wpsg_sc']->update_option('wpsg_news_cache_refresh', time(), false, false, WPSG_SANITIZE_NONE);
-									
-			return $arReturn;
 			
 		} // private static function getLatestNewsFromRSS()
