[WordPress] Don't attempt to load pages with missing .article
Some sites use WordPress but don't provide pages with articles. Instead of throwing internal errors we just don't return any content.
This commit is contained in:
parent
21523eb549
commit
455b98757c
1 changed files with 11 additions and 6 deletions
|
@ -39,6 +39,7 @@ class WordPressBridge extends BridgeAbstract {
|
||||||
$element_text = $element->outertext;
|
$element_text = $element->outertext;
|
||||||
$element_text = str_replace('<link>', '<url>', $element_text);
|
$element_text = str_replace('<link>', '<url>', $element_text);
|
||||||
$element_text = str_replace('</link>', '</url>', $element_text);
|
$element_text = str_replace('</link>', '</url>', $element_text);
|
||||||
|
$element_text = str_replace('<link ', '<url ', $element_text);
|
||||||
return str_get_html($element_text);
|
return str_get_html($element_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,13 +95,17 @@ class WordPressBridge extends BridgeAbstract {
|
||||||
$item->author = trim($article->find('author', 0)->innertext);
|
$item->author = trim($article->find('author', 0)->innertext);
|
||||||
$item->timestamp = strtotime($article->find('updated', 0)->innertext);
|
$item->timestamp = strtotime($article->find('updated', 0)->innertext);
|
||||||
}
|
}
|
||||||
|
|
||||||
$article_html = $this->file_get_html($item->uri);
|
$article_html = $this->file_get_html($item->uri);
|
||||||
$item->content = $this->ClearContent($article_html->find('article', 0)->innertext);
|
|
||||||
|
$article = $article_html->find('article', 0);
|
||||||
|
if(!empty($article)){
|
||||||
|
$item->content = $this->ClearContent($article->innertext);
|
||||||
if(empty($item->content))
|
if(empty($item->content))
|
||||||
$item->content = $this->ClearContent($article_html->find('.single-content', 0)->innertext); // another common content div
|
$item->content = $this->ClearContent($article_html->find('.single-content', 0)->innertext); // another common content div
|
||||||
if(empty($item->content))
|
if(empty($item->content))
|
||||||
$item->content = $this->ClearContent($article_html->find('.post', 0)->innertext); // for old WordPress themes without HTML5
|
$item->content = $this->ClearContent($article_html->find('.post', 0)->innertext); // for old WordPress themes without HTML5
|
||||||
|
}
|
||||||
$this->items[] = $item;
|
$this->items[] = $item;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue